summaryrefslogtreecommitdiffstats
path: root/net/openvswitch/datapath.h
diff options
context:
space:
mode:
authorPravin B Shelar <pshelar@nicira.com>2013-09-17 09:38:23 -0700
committerJesse Gross <jesse@nicira.com>2013-09-17 09:38:23 -0700
commite7f133290660d976da8cb20e9bc7310d0cd19341 (patch)
treec4eb7687f7aeb2c20a3e23006d811a7495ca9ed4 /net/openvswitch/datapath.h
parent272b98c6455f00884f0350f775c5342358ebb73f (diff)
downloadlinux-e7f133290660d976da8cb20e9bc7310d0cd19341.tar.gz
linux-e7f133290660d976da8cb20e9bc7310d0cd19341.tar.bz2
linux-e7f133290660d976da8cb20e9bc7310d0cd19341.zip
openvswitch: Move flow table rehashing to flow install.
Rehashing in ovs-workqueue can cause ovs-mutex lock contentions in case of heavy flow setups where both needs ovs-mutex. So by moving rehashing to flow-setup we can eliminate contention. This also simplify ovs locking and reduces dependence on workqueue. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'net/openvswitch/datapath.h')
-rw-r--r--net/openvswitch/datapath.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/openvswitch/datapath.h b/net/openvswitch/datapath.h
index 4d109c176ef3..2c15541f3b46 100644
--- a/net/openvswitch/datapath.h
+++ b/net/openvswitch/datapath.h
@@ -62,6 +62,7 @@ struct dp_stats_percpu {
* ovs_mutex and RCU.
* @stats_percpu: Per-CPU datapath statistics.
* @net: Reference to net namespace.
+ * @last_rehash: Timestamp of last rehash.
*
* Context: See the comment on locking at the top of datapath.c for additional
* locking information.
@@ -83,6 +84,7 @@ struct datapath {
/* Network namespace ref. */
struct net *net;
#endif
+ unsigned long last_rehash;
};
/**