[ovs-dev] [RFC PATCH 0/6] Increase miniflow's capacity.

Jarno Rajahalme jrajahalme at nicira.com
Wed Jul 15 20:40:54 UTC 2015


On Jul 15, 2015, at 08:53, Traynor, Kevin <kevin.traynor at intel.com> wrote:

>> From: Jarno Rajahalme [mailto:jrajahalme at nicira.com]
>> Sent: Friday, July 10, 2015 6:38 PM
>> To: Traynor, Kevin
>> Cc: dev at openvswitch.org
>> Subject: Re: [ovs-dev] [RFC PATCH 0/6] Increase miniflow's capacity.
>> 
>> 
>> On Jul 10, 2015, at 9:38 AM, Traynor, Kevin <kevin.traynor at intel.com> wrote:
>> 
>> 
>> -----Original Message-----
>> From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Jarno Rajahalme
>> Sent: Thursday, July 9, 2015 6:16 PM
>> To: dev at openvswitch.org
>> Subject: [ovs-dev] [RFC PATCH 0/6] Increase miniflow's capacity.
>> 
>> Upto now struct miniflow has been limited to 63 64-bit units.  This
>> series increases this capacity to 128 64-bit units.  For presimed
>> performance reasons the new miniflow uses one 64-bit map for tunnel
>> metadata and another for the rest of the metadata and the fields
>> extracted from packet headers.
>> 
>> Before making miniflow more complex, this series simplifies it a bit
>> by always inlining the miniflow data and cleaning up the interface a
>> bit.
>> 
>> All performance testing is yet to be done.  I would be thankful if
>> someone verifies the performance impact on the DPDK datapath, if any.
>> 
>> Hi Jarno, I can run some tests on this early next week when I get access
>> to a board.
>> 
>> 
>> Kevin,
>> 
>> I just sent a v2 based on feedback from Daniele, so please test on that
>> instead!
>> 
>>  Jarno
> 
> I've tested this multiple times for phy-phy with dpdk and a bi-directional flow.
> It's showing an avg. of 16.39 mpps on head of master and 16.67 mpps with your
> changes - so no need to be worried! 
> 
> I ran a few tests on the other dpdk ports and there was a slight drop of 100K pps
> for vhost, but I think this is just test variance.
> 

Thanks for testing this out!

  Jarno

>> 
>> 
>> 
>> 
>> Jarno Rajahalme (6):
>> tests: Check for core files before exiting.
>> meta-flow: Add a missing break statement.
>> lib: Always inline miniflows.
>> match: Single malloc minimatch.
>> flow: Eliminate miniflow_clone() and minimask_clone().
>> flow: Split miniflow's map.
>> 
>> lib/classifier-private.h |  122 ++++++++----
>> lib/classifier.c         |  149 ++++++++------
>> lib/dpif-netdev.c        |  103 +++++-----
>> lib/flow.c               |  482 ++++++++++++++++++++++----------------------
>> --
>> lib/flow.h               |  252 +++++++++++++-----------
>> lib/match.c              |   39 ++--
>> lib/match.h              |   12 +-
>> lib/meta-flow.c          |    2 +-
>> lib/tnl-ports.c          |    4 +-
>> ofproto/ofproto.c        |   10 +-
>> tests/ofproto-macros.at  |    6 +-
>> tests/test-classifier.c  |  130 +++++++------
>> 12 files changed, 716 insertions(+), 595 deletions(-)
>> 
>> --
>> 1.7.10.4
>> 
>> _______________________________________________
>> dev mailing list
>> dev at openvswitch.org
>> http://openvswitch.org/mailman/listinfo/dev
> 
> 
> 
> 



More information about the dev mailing list