On Nov 14, 2014, at 2:04 PM, Ben Pfaff <b...@nicira.com> wrote:

> On Thu, Nov 13, 2014 at 11:56:17AM -0800, Jarno Rajahalme wrote:
>> This patch adds a new functions classifier_defer() and
>> classifier_publish(), which control when the classifier modifications
>> are made available to lookups.  By default, all modifications are made
>> available to lookups immediately.  Modifications made after a
>> classifier_defer() call MAY be 'deferred' for later 'publication'.  A
>> call to classifier_publish() will both publish any deferred
>> modifications, and cause subsequent changes to to be published
>> immediately.
>> 
>> Currently any deferring is limited to the visibility of the subtable
>> vector changes.  pvector now processes modifications mostly in a
>> working copy, which needs to be explicitly published with
>> pvector_publish().  pvector_publish() sorts the working copy and
>> removes gaps before publishing it.
>> 
>> This change helps avoiding O(n**2) memory behavior in corner cases,
>> where large number of rules with different masks are inserted or
>> deleted.
>> 
>> VMware-BZ: #1322017
>> Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com>
>> Summary:
> 
> I don't know of a "Summary:" tag.

Oops, thats from Emacs stgit, it keeps inserting that, and I haven’t yet put in 
the effort to try to make it not do that.

> 
> I think that pvector.h deserves at least a brief comment describing
> the two different copies.
> 

I added this:

 * Most modifications are internally staged at the 'temp' vector, from which
 * they can be published at 'impl' by calling pvector_publish().  This saves
 * unnecessary memory allocations when many changes are done back-to-back.
 * 'temp' may contain NULL pointers and it may be in unsorted order.  It is
 * sorted before it is published at 'impl', which also removes the NULLs from
 * the published vector.

> Acked-by: Ben Pfaff <b...@nicira.com>

Thanks!

I’ll push the series momentarily,

  Jarno


_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to