summaryrefslogtreecommitdiffstats
path: root/net/openvswitch/datapath.h
diff options
context:
space:
mode:
authorPravin B Shelar <pshelar@nicira.com>2013-10-04 09:14:23 +0200
committerJesse Gross <jesse@nicira.com>2013-10-04 09:18:26 +0200
commitb637e4988c2d689bb43f943a5af0e684a4981159 (patch)
tree36fbf2ee83323b2441861de650c6dabe6d5cc663 /net/openvswitch/datapath.h
parentopenvswitch: Restructure datapath.c and flow.c (diff)
downloadlinux-b637e4988c2d689bb43f943a5af0e684a4981159.tar.xz
linux-b637e4988c2d689bb43f943a5af0e684a4981159.zip
openvswitch: Move mega-flow list out of rehashing struct.
ovs-flow rehash does not touch mega flow list. Following patch moves it dp struct datapath. Avoid one extra indirection for accessing mega-flow list head on every packet receive. 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.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/openvswitch/datapath.h b/net/openvswitch/datapath.h
index a6982ef84f20..acfd4af8ca3a 100644
--- a/net/openvswitch/datapath.h
+++ b/net/openvswitch/datapath.h
@@ -58,12 +58,11 @@ struct dp_stats_percpu {
* struct datapath - datapath for flow-based packet switching
* @rcu: RCU callback head for deferred destruction.
* @list_node: Element in global 'dps' list.
- * @table: Current flow table. Protected by ovs_mutex and RCU.
+ * @table: flow table.
* @ports: Hash table for ports. %OVSP_LOCAL port always exists. Protected by
* 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.
@@ -73,7 +72,7 @@ struct datapath {
struct list_head list_node;
/* Flow table. */
- struct flow_table __rcu *table;
+ struct flow_table table;
/* Switch ports. */
struct hlist_head *ports;
@@ -85,7 +84,6 @@ struct datapath {
/* Network namespace ref. */
struct net *net;
#endif
- unsigned long last_rehash;
};
/**