Hi Alex, a minor comment, otherwise On 29 August 2015 at 18:44, Alex Wang <ee07b...@gmail.com> wrote: > This commit adds logic using ovs barrier to allow main thread pause > all revalidators. This new feature will be used in a later patch. > > Signed-off-by: Alex Wang <ee07b...@gmail.com>
Acked-by: Joe Stringer <joestrin...@nicira.com> > --- a/ofproto/ofproto-dpif-upcall.c > +++ b/ofproto/ofproto-dpif-upcall.c > @@ -110,7 +110,11 @@ struct udpif { > /* Revalidation. */ > struct seq *reval_seq; /* Incremented to force revalidation. > */ > bool reval_exit; /* Set by leader on 'exit_latch. */ > + bool pause; /* Set by leader on 'pause_latch. */ > struct ovs_barrier reval_barrier; /* Barrier used by revalidators. */ > + struct latch pause_latch; /* Set to force revalidators pause. */ > + struct ovs_barrier pause_barrier; /* Barrier used to pause all */ > + /* revalidators by main thread. */ > struct dpif_flow_dump *dump; /* DPIF flow dump state. */ > long long int dump_duration; /* Duration of the last flow dump. */ > struct seq *dump_seq; /* Increments each dump iteration. */ As a style thing, these could probably be grouped together just below this with a slightly longer comment explaining something like: /* These variables provide a mechanism for the main thread to pause all revalidation without having to completely shut the threads down. 'pause_latch' is shared between the main thread and the lead revalidator thread, so when it is desirable to halt revalidation, the main thread will set the latch. 'pause' and 'pause_barrier' are shared by revalidator threads. The lead revalidator will set 'pause' when it observes the latch has been set, and this will cause all revalidator threads to wait on 'pause_barrier' at the beginning of the next revalidation round. */ If you think that makes sense. (Also furthers my task of trying to better document the revalidation code ;-) ) _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev