|
| From: | Paolo Bonzini |
| Subject: | Re: [Qemu-devel] [RFC v1 01/11] tcg: move tb_find_fast outside the tb_lock critical section |
| Date: | Fri, 18 Mar 2016 17:54:00 +0100 |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
On 18/03/2016 17:18, Alex Bennée wrote:
> -#endif
> -
> - /* if no translated code available, then translate it now */
> - cpu->tb_invalidated_flag = 0;
Moving this reset from here...
> - if (cpu->tb_invalidated_flag) {
> + if (atomic_read(&cpu->tb_invalidated_flag)) {
> /* as some TB could have been invalidated because
> of a tb_flush while generating the code, we
> must recompute the hash index here */
> next_tb = 0;
> +
> + /* Clear the flag, we've now observed the flush. */
> + tb_lock_recursive();
> + cpu->tb_invalidated_flag = 0;
> }
... to here probably can be anticipated to Sergey's (my? :D) "make
tb_invalidated_flag per-CPU" patch.
Then this patch can just add the tb_lock_recursive.
Paolo
| [Prev in Thread] | Current Thread | [Next in Thread] |