aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/sta_info.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-12-04 17:12:31 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-12-16 05:29:47 -0500
commitd778207b06ac1becd012eb689dafdf85feebb179 (patch)
treea6b248949b392e66908cc98aedb2b5b9defc96a1 /net/mac80211/sta_info.h
parentc87820784454bbf7fc63a9e7d9c36762a46f393c (diff)
mac80211: optimise synchronize_net() for sta_info_flush
There's no reason to have one synchronize_net() for each removed station, refactor the code slightly to have just a single synchronize_net() for all stations. Note that this is currently useless as hostapd removes stations one by one and this coalescing never happens. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/sta_info.h')
-rw-r--r--net/mac80211/sta_info.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h
index 9104f812e9de..f6081e574a28 100644
--- a/net/mac80211/sta_info.h
+++ b/net/mac80211/sta_info.h
@@ -247,6 +247,7 @@ struct ieee80211_tx_latency_stat {
247 * mac80211 is communicating with. 247 * mac80211 is communicating with.
248 * 248 *
249 * @list: global linked list entry 249 * @list: global linked list entry
250 * @free_list: list entry for keeping track of stations to free
250 * @hnext: hash table linked list pointer 251 * @hnext: hash table linked list pointer
251 * @local: pointer to the global information 252 * @local: pointer to the global information
252 * @sdata: virtual interface this station belongs to 253 * @sdata: virtual interface this station belongs to
@@ -329,7 +330,7 @@ struct ieee80211_tx_latency_stat {
329 */ 330 */
330struct sta_info { 331struct sta_info {
331 /* General information, mostly static */ 332 /* General information, mostly static */
332 struct list_head list; 333 struct list_head list, free_list;
333 struct rcu_head rcu_head; 334 struct rcu_head rcu_head;
334 struct sta_info __rcu *hnext; 335 struct sta_info __rcu *hnext;
335 struct ieee80211_local *local; 336 struct ieee80211_local *local;