diff options
Diffstat (limited to 'net/openvswitch/flow.h')
-rw-r--r-- | net/openvswitch/flow.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/net/openvswitch/flow.h b/net/openvswitch/flow.h index 9c0dd8aa3117..ddcebc53224f 100644 --- a/net/openvswitch/flow.h +++ b/net/openvswitch/flow.h | |||
@@ -159,12 +159,18 @@ struct sw_flow { | |||
159 | struct rcu_head rcu; | 159 | struct rcu_head rcu; |
160 | struct hlist_node hash_node[2]; | 160 | struct hlist_node hash_node[2]; |
161 | u32 hash; | 161 | u32 hash; |
162 | 162 | int stats_last_writer; /* NUMA-node id of the last writer on | |
163 | * 'stats[0]'. | ||
164 | */ | ||
163 | struct sw_flow_key key; | 165 | struct sw_flow_key key; |
164 | struct sw_flow_key unmasked_key; | 166 | struct sw_flow_key unmasked_key; |
165 | struct sw_flow_mask *mask; | 167 | struct sw_flow_mask *mask; |
166 | struct sw_flow_actions __rcu *sf_acts; | 168 | struct sw_flow_actions __rcu *sf_acts; |
167 | struct flow_stats __percpu *stats; | 169 | struct flow_stats __rcu *stats[]; /* One for each NUMA node. First one |
170 | * is allocated at flow creation time, | ||
171 | * the rest are allocated on demand | ||
172 | * while holding the 'stats[0].lock'. | ||
173 | */ | ||
168 | }; | 174 | }; |
169 | 175 | ||
170 | struct arp_eth_header { | 176 | struct arp_eth_header { |