On 07/24/2015 02:22 PM, Paolo Bonzini wrote: > > > On 24/07/2015 07:56, Wen Congyang wrote: >> @@ -115,9 +116,12 @@ static void wait_for_readers(void) >> } >> >> /* Wait for one thread to report a quiescent state and >> - * try again. >> + * try again. Release rcu_gp_lock, so rcu_(un)register_thread() >> + * doesn't wait too much time. >> */ >> + qemu_mutex_unlock(&rcu_gp_lock); >> qemu_event_wait(&rcu_gp_event); >> + qemu_mutex_lock(&rcu_gp_lock); >> } >> > > So in this case rcu_unregister_thread could actually remove the node > from synchronize_rcu's qsreaders, not just from registry. That's a bit > tricky, but it should work. Please add a comment, however. > > Also, please rename "rcu_gp_lock" as well to rcu_registry_lock. We'll > get the patches in QEMU 2.5.
OK, I will do it. Thanks Wen Congyang > > Paolo > . >