[ovs-dev] [threaded reval 2/2] ofproto: Handle flow installation and eviction in upcall.

Ben Pfaff blp at nicira.com
Tue Dec 17 18:02:35 UTC 2013


On Tue, Dec 17, 2013 at 08:48:15AM -0800, Joe Stringer wrote:
> On 15 December 2013 17:57, Ethan Jackson <ethan at nicira.com> wrote:
> > +        if (!revalidator->n_udumps) {
> > +            if (revalidator->dump_seq != seq_read(udpif->dump_seq)) {
> > +                revalidator->dump_seq = seq_read(udpif->dump_seq);
> > +                revalidator_sweep(revalidator);
> > +            } else {
> > +                ovs_mutex_cond_wait(&revalidator->wake_cond,
> > +                                    &revalidator->mutex);
> > +            }
> 
> I didn't review the whole patch, but I did notice this earlier:-
> Couldn't udpif->dump_seq change between the two seq_read() calls? The
> example seq usage in seq.h reads the seq once and uses that variable
> to compare and update. This should ensure that we handle all changes
> to dump_seq.

I think it's OK here if the seq value changes between the two reads.
The goal, as I understand it, is just to make sure that
revalidator_sweep() runs after the most recent change to the seq, and I
think that this code will accomplish that.



More information about the dev mailing list