diff options
author | Johannes Berg <johannes.berg@intel.com> | 2015-04-23 18:26:06 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2015-04-23 18:26:06 +0300 |
commit | ebd82b39bf11b38b0b50919c8d4386706b26bff7 (patch) | |
tree | 9c147b4d7aedac7bd49b6bcf5ca3d45915c2090c /net/mac80211 | |
parent | 80616c0db8a26f030be78fea39f7c880c4263e55 (diff) | |
download | linux-ebd82b39bf11b38b0b50919c8d4386706b26bff7.tar.xz |
mac80211: make station hash table max_size configurable
Allow debug builds to configure the station hash table maximum
size in order to run with hash collisions in limited scenarios
such as hwsim testing. The default remains 0 which effectively
means no limit.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/Kconfig | 10 | ||||
-rw-r--r-- | net/mac80211/sta_info.c | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig index 64a012a0c6e5..5f698d4ec53b 100644 --- a/net/mac80211/Kconfig +++ b/net/mac80211/Kconfig @@ -305,3 +305,13 @@ config MAC80211_DEBUG_COUNTERS and show them in debugfs. If unsure, say N. + +config MAC80211_STA_HASH_MAX_SIZE + int "Station hash table maximum size" if MAC80211_DEBUG_MENU + default 0 + ---help--- + Setting this option to a low value (e.g. 4) allows testing the + hash table with collisions relatively deterministically (just + connect more stations than the number selected here.) + + If unsure, leave the default of 0. diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c index 737730abba6d..aec15d746aea 100644 --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c @@ -70,6 +70,7 @@ static const struct rhashtable_params sta_rht_params = { .key_offset = offsetof(struct sta_info, sta.addr), .key_len = ETH_ALEN, .hashfn = sta_addr_hash, + .max_size = CONFIG_MAC80211_STA_HASH_MAX_SIZE, }; /* Caller must hold local->sta_mtx */ |