On Wed, Mar 23, 2016 at 06:02:58PM -0700, Daniele Di Proietto wrote: > A new thread must be started in a non quiescent state. There is a call > to ovsrcu_quiesce_end() in ovsthread_wrapper(), to enforce this. > > ovs_thread_create(), instead, is executed in the parent thread, and > calling ovsrcu_quiesce_end() there will cause the parent to end its > (possible) quiescing state, which it's not required to start a child > thread. > > This fixes a bug in ovs-rcu where the first call in the process to > ovsrcu_quiesce_start() will not be honored, because the calling thread > will need to create the 'urcu' thread (and creating a thread will > wrongly end its quiescent state).
This looks correct, but now I remember why I might have put this in. Something has to put the initial thread of the program into a nonquiescent state for the first time. I think that might have been the purpose here. If we remove it, what does this? Thanks, Ben. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev