This series reduces kernel datapath lock contention.  I have included
the NUMA stats patches, as the rest do not apply cleanly without them.
I have added netperf TCP_CRR results (connections/second) as the first
column in the list below.  These are in a specific 2-socket server,
YMMV.

I have included the current master as a baseline.  The numbers are for
the best run after a warmup, representing a case when revalidation is
not necessary, but stats are still pushed continuously.

Finally, I have manually set the max_idle to 750ms, so that it would
not skew the results (too high max_idle will cause handlers to not be
able to push all flows, which leads to more upcalls, and more TCP
latency -> lower TCP_CRR score.)

Jarno Rajahalme (13):
19k     Master
17k     datapath: Remove 5-tuple optimization.
45.1k   datapath: Per NUMA node flow stats.
        datapath: Fix race.
        datapath: Avoid assigning a NULL pointer to flow actions.
        datapath: Use TCP flags in the flow key for stats.
        datapath: Clarify locking.
45.2k   datapath: Minimize dp and vport critical sections.
52.3k   datapath: Minimize ovs_flow_cmd_del critical section.
52.3k   datapath: Minimize ovs_flow_cmd_new_or_set critical section.
        datapath: Store alloced size with sw_flow_acts.
52.7k   datapath: Remove memory allocations from ovs_flow_cmd_execute.
56.2k   datapath: Build netlink reply only if needed.
56.8k   datapath: Do not return actions from flow delete.

 datapath/datapath.c     |  528 +++++++++++++++++++++++++----------------------
 datapath/flow.c         |  181 ++++++++--------
 datapath/flow.h         |   19 +-
 datapath/flow_netlink.c |   78 ++-----
 datapath/flow_netlink.h |    3 +-
 datapath/flow_table.c   |   59 +++---
 datapath/flow_table.h   |    6 +-
 7 files changed, 445 insertions(+), 429 deletions(-)

-- 
1.7.10.4

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

Reply via email to