On Mon, Jun 9, 2014 at 1:59 PM, Ben Pfaff <b...@nicira.com> wrote:

> On Mon, Jun 09, 2014 at 12:40:46PM -0700, Ben Pfaff wrote:
> > On Thu, May 29, 2014 at 04:15:46PM -0700, Alex Wang wrote:
> > > Non-leader revalidator thread uses pthread_barrier_* functions in their
> > > main loop to synchronize with leader thread.  However, since those
> threads
> > > only call poll_block() intermittently, the poll interval check in
> > > poll_block() can wrongly take the time since last call as poll interval
> > > and issue the following warnings:
> > >
> > > "Unreasonably long XXXXms poll interval".
> > >
> > > To prevent it, this commit implements the barrier struct and operations
> > > for OVS which allow thread waiting on barrier via poll_block().
> > >
> > > Signed-off-by: Alex Wang <al...@nicira.com>
> >
> > One advantage of such an OVS-specific barrier could be that one could
> > wait for the barrier or another event, or even add a barrier wait to
> > the main poll loop for a given thread.  To do that, we would want to
> > make ovs_barrier_wait() only schedule a wake-up (with seq_wait())
> > instead of actually calling poll_block().  Did you consider that?
>
> Actually, never mind.  Let's not generalize this before we need it.
>
> Would you mind revising this a bit?  First, let's add a comment on
> each function.  Second, most of the functions that end in _wait() in
> OVS don't actually wait, they usually just register for poll_block()
> to wake up.  We usually use "block" to indicate a function that
> blocks, e.g. poll_block(), vconn_open_block(), jsonrpc_send_block().
> So, would you mind renaming ovs_barrier_wait() to something with
> "block" in the name?
>

Sure, I'll work on that.  Thx
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to