mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
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>
This commit is contained in:
parent
e64457191a
commit
b637e4988c
4 changed files with 163 additions and 173 deletions
|
@ -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;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue