linux-uconsole/net/openvswitch
Eelco Chaudron eac87c413b net: openvswitch: reorder masks array based on usage
This patch reorders the masks array every 4 seconds based on their
usage count. This greatly reduces the masks per packet hit, and
hence the overall performance. Especially in the OVS/OVN case for
OpenShift.

Here are some results from the OVS/OVN OpenShift test, which use
8 pods, each pod having 512 uperf connections, each connection
sends a 64-byte request and gets a 1024-byte response (TCP).
All uperf clients are on 1 worker node while all uperf servers are
on the other worker node.

Kernel without this patch     :  7.71 Gbps
Kernel with this patch applied: 14.52 Gbps

We also run some tests to verify the rebalance activity does not
lower the flow insertion rate, which does not.

Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
Tested-by: Andrew Theurer <atheurer@redhat.com>
Reviewed-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-07-17 10:36:50 -07:00
..
actions.c
conntrack.c
conntrack.h
datapath.c net: openvswitch: reorder masks array based on usage 2020-07-17 10:36:50 -07:00
datapath.h net: openvswitch: reorder masks array based on usage 2020-07-17 10:36:50 -07:00
dp_notify.c
flow.c
flow.h
flow_netlink.c
flow_netlink.h
flow_table.c net: openvswitch: reorder masks array based on usage 2020-07-17 10:36:50 -07:00
flow_table.h net: openvswitch: reorder masks array based on usage 2020-07-17 10:36:50 -07:00
Kconfig
Makefile
meter.c
meter.h
vport-geneve.c
vport-gre.c
vport-internal_dev.c
vport-internal_dev.h
vport-netdev.c
vport-netdev.h
vport-vxlan.c
vport.c
vport.h