linux-stable/net/openvswitch
Thadeu Lima de Souza Cascardo db74a3335e openvswitch: use percpu flow stats
Instead of using flow stats per NUMA node, use it per CPU. When using
megaflows, the stats lock can be a bottleneck in scalability.

On a E5-2690 12-core system, usual throughput went from ~4Mpps to
~15Mpps when forwarding between two 40GbE ports with a single flow
configured on the datapath.

This has been tested on a system with possible CPUs 0-7,16-23. After
module removal, there were no corruption on the slab cache.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@redhat.com>
Cc: pravin shelar <pshelar@ovn.org>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-18 22:14:01 -04:00
..
Kconfig openvswitch: call only into reachable nf-nat code 2016-03-28 17:58:59 +02:00
Makefile openvswitch: Remove conntrack Kconfig option. 2015-09-06 23:48:33 -07:00
actions.c openvswitch: avoid deferred execution of recirc actions 2016-09-15 20:35:52 -04:00
conntrack.c openvswitch: Free tmpl with tmpl_free. 2016-09-04 11:38:10 -07:00
conntrack.h openvswitch: Interface with NAT. 2016-03-14 23:47:29 +01:00
datapath.c openvswitch: use alias for genetlink family names 2016-09-10 21:42:46 -07:00
datapath.h openvswitch: Add packet truncation support. 2016-06-10 17:58:03 -07:00
dp_notify.c openvswitch: fix hangup on vxlan/gre/geneve device deletion 2015-12-03 14:29:25 -05:00
flow.c openvswitch: use percpu flow stats 2016-09-18 22:14:01 -04:00
flow.h openvswitch: use percpu flow stats 2016-09-18 22:14:01 -04:00
flow_netlink.c openvswitch: 802.1AD Flow handling, actions, vlan parsing, netlink attributes 2016-09-08 17:10:28 -07:00
flow_netlink.h openvswitch: Fix egress tunnel info. 2015-10-22 19:39:25 -07:00
flow_table.c openvswitch: use percpu flow stats 2016-09-18 22:14:01 -04:00
flow_table.h openvswitch: Zero flows on allocation. 2015-09-22 17:33:41 -07:00
vport-geneve.c openvswitch: do not ignore netdev errors when creating tunnel vports 2016-08-10 23:13:23 -07:00
vport-gre.c openvswitch: do not ignore netdev errors when creating tunnel vports 2016-08-10 23:13:23 -07:00
vport-internal_dev.c OVS: Ignore negative headroom value 2016-08-06 00:06:11 -04:00
vport-internal_dev.h openvswitch: introduce rtnl ops stub 2014-07-01 14:40:17 -07:00
vport-netdev.c net: use skb_postpush_rcsum instead of own implementations 2016-02-19 23:43:10 -05:00
vport-netdev.h openvswitch: Use dev_queue_xmit for vport send. 2015-10-22 06:46:16 -07:00
vport-vxlan.c openvswitch: do not ignore netdev errors when creating tunnel vports 2016-08-10 23:13:23 -07:00
vport.c openvswitch: 802.1AD Flow handling, actions, vlan parsing, netlink attributes 2016-09-08 17:10:28 -07:00
vport.h net: use skb_postpush_rcsum instead of own implementations 2016-02-19 23:43:10 -05:00