summaryrefslogtreecommitdiffstats
path: root/net/openvswitch/flow_table.h
diff options
context:
space:
mode:
authorPravin B Shelar <pshelar@nicira.com>2013-10-30 01:22:21 +0100
committerJesse Gross <jesse@nicira.com>2014-01-07 00:52:24 +0100
commite298e505700604c97e6a9edb21cebb080bdb91f6 (patch)
treed2f4452ed7a4ec42a212690ac2633b006c1e10c0 /net/openvswitch/flow_table.h
parentopenvswitch: Enable memory mapped Netlink i/o (diff)
downloadlinux-e298e505700604c97e6a9edb21cebb080bdb91f6.tar.xz
linux-e298e505700604c97e6a9edb21cebb080bdb91f6.zip
openvswitch: Per cpu flow stats.
With mega flow implementation ovs flow can be shared between multiple CPUs which makes stats updates highly contended operation. This patch uses per-CPU stats in cases where a flow is likely to be shared (if there is a wildcard in the 5-tuple and therefore likely to be spread by RSS). In other situations, it uses the current strategy, saving memory and allocation time. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'net/openvswitch/flow_table.h')
-rw-r--r--net/openvswitch/flow_table.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/openvswitch/flow_table.h b/net/openvswitch/flow_table.h
index f54aa82cf81e..1996e34c0fd8 100644
--- a/net/openvswitch/flow_table.h
+++ b/net/openvswitch/flow_table.h
@@ -55,7 +55,7 @@ struct flow_table {
int ovs_flow_init(void);
void ovs_flow_exit(void);
-struct sw_flow *ovs_flow_alloc(void);
+struct sw_flow *ovs_flow_alloc(bool percpu_stats);
void ovs_flow_free(struct sw_flow *, bool deferred);
int ovs_flow_tbl_init(struct flow_table *);