[ovs-dev] [PATCH 2/2] [RFC] flow: Use new miniflow_builder for miniflow_extract().

Ben Pfaff blp at nicira.com
Tue Jun 9 17:13:48 UTC 2015


On Mon, Jun 08, 2015 at 10:54:55AM -0700, Jarno Rajahalme wrote:
> 
> > On Jun 8, 2015, at 9:36 AM, Ben Pfaff <blp at nicira.com> wrote:
> > 
> > This replaces the very specialized and difficult-to-maintain miniflow
> > assembly macros by a simpler data structure named "miniflow_builder" that
> > is more general and easier to use.
> > 
> > It's not complete--it needs polishing and it mysteriously fails a few
> > tests--but I'd like some early feedback.  In particular, I know that the
> > transformation to the current form was done for performance, so I'd like
> > to make sure that this new code will not cause a regression.  Therefore:
> > how was the performance measured last time, so I can measure it the same
> > way?
> > 
> 
> Yes, the current form is pretty much optimal when looking at the
> generated assembly, so I’d be surprised if anything more general is
> faster.
> 
> The only direct and really performance critical use for
> miniflow_extract() is in the userspace datapath
> (dpif-netdev.c). miniflow_extract() is called right before exact match
> cache lookup, so any significant performance difference should be
> visible in the simplest (single-flow) DPDK performance tests.

I did some simple measurements and the miniflow-builder version was
significantly slower.  I couldn't fix that simply, so I'm shelving this
for now.  I pushed the current version to my "ovs-reviews" repo as the
branch "miniflow-builder".



More information about the dev mailing list