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

Reply via email to