[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