linux/net/openvswitch
Thomas Graf 795449d8b8 openvswitch: Enable memory mapped Netlink i/o
Use memory mapped Netlink i/o for all unicast openvswitch
communication if a ring has been set up.

Benchmark
  * pktgen -> ovs internal port
  * 5M pkts, 5M flows
  * 4 threads, 8 cores

Before:
Result: OK: 67418743(c67108212+d310530) usec, 5000000 (9000byte,0frags)
  74163pps 5339Mb/sec (5339736000bps) errors: 0
	+   2.98%     ovs-vswitchd  [k] copy_user_generic_string
	+   2.49%     ovs-vswitchd  [k] memcpy
	+   1.84%       kpktgend_2  [k] memcpy
	+   1.81%       kpktgend_1  [k] memcpy
	+   1.81%       kpktgend_3  [k] memcpy
	+   1.78%       kpktgend_0  [k] memcpy

After:
Result: OK: 24229690(c24127165+d102524) usec, 5000000 (9000byte,0frags)
  206358pps 14857Mb/sec (14857776000bps) errors: 0
	+   2.80%     ovs-vswitchd  [k] memcpy
	+   1.31%       kpktgend_2  [k] memcpy
	+   1.23%       kpktgend_0  [k] memcpy
	+   1.09%       kpktgend_1  [k] memcpy
	+   1.04%       kpktgend_3  [k] memcpy
	+   0.96%     ovs-vswitchd  [k] copy_user_generic_string

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Reviewed-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
2014-01-06 15:52:12 -08:00
..
Kconfig openvswitch: Add SCTP support 2013-08-26 14:03:13 -07:00
Makefile openvswitch: Restructure datapath.c and flow.c 2013-10-03 18:16:47 -07:00
actions.c openvswitch: Add SCTP support 2013-08-26 14:03:13 -07:00
datapath.c openvswitch: Enable memory mapped Netlink i/o 2014-01-06 15:52:12 -08:00
datapath.h openvswitch: Silence RCU lockdep checks from flow lookup. 2014-01-06 15:51:48 -08:00
dp_notify.c genetlink: make multicast groups const, prevent abuse 2013-11-19 16:39:06 -05:00
flow.c openvswitch: TCP flags matching support. 2013-11-01 18:43:45 -07:00
flow.h openvswitch: Shrink sw_flow_mask by 8 bytes (64-bit) or 4 bytes (32-bit). 2014-01-06 15:51:27 -08:00
flow_netlink.c openvswitch: TCP flags matching support. 2013-11-01 18:43:45 -07:00
flow_netlink.h openvswitch: Restructure datapath.c and flow.c 2013-10-03 18:16:47 -07:00
flow_table.c openvswitch: Silence RCU lockdep checks from flow lookup. 2014-01-06 15:51:48 -08:00
flow_table.h openvswitch: Change ovs_flow_tbl_lookup_xx() APIs 2014-01-06 15:51:41 -08:00
vport-gre.c openvswitch: remove duplicated include from vport-gre.c 2013-09-23 13:36:31 -07:00
vport-internal_dev.c openvswitch: Enable all GSO features on internal port. 2013-11-01 18:17:50 -07:00
vport-internal_dev.h openvswitch: Replace Nicira Networks. 2012-05-03 18:55:23 -07:00
vport-netdev.c openvswitch: fix vport-netdev unregister 2013-10-16 14:50:22 -07:00
vport-netdev.h openvswitch: fix vport-netdev unregister 2013-10-16 14:50:22 -07:00
vport-vxlan.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jesse/openvswitch 2013-11-04 16:25:04 -05:00
vport.c net: Explicitly initialize u64_stats_sync structures for lockdep 2013-11-06 12:40:25 +01:00
vport.h openvswitch: Add vxlan tunneling support. 2013-08-20 00:15:44 -07:00