mac80211: mesh: drop constant field mean_chain_len

The mean_chain_len field in struct mesh_table is copied whenever a
new mesh table is allocated, but only ever has the value 2 and is
never otherwise updated, so just remove it and use the related
define instead.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Bob Copeland 2016-01-30 13:17:03 -05:00 committed by Johannes Berg
parent 0ef049dc11
commit 3f73fe9fd8
2 changed files with 3 additions and 9 deletions

View File

@ -137,8 +137,6 @@ struct mesh_path {
* @copy_node: function to copy nodes of the table * @copy_node: function to copy nodes of the table
* @size_order: determines size of the table, there will be 2^size_order hash * @size_order: determines size of the table, there will be 2^size_order hash
* buckets * buckets
* @mean_chain_len: maximum average length for the hash buckets' list, if it is
* reached, the table will grow
* @known_gates: list of known mesh gates and their mpaths by the station. The * @known_gates: list of known mesh gates and their mpaths by the station. The
* gate's mpath may or may not be resolved and active. * gate's mpath may or may not be resolved and active.
* *
@ -154,7 +152,6 @@ struct mesh_table {
void (*free_node) (struct hlist_node *p, bool free_leafs); void (*free_node) (struct hlist_node *p, bool free_leafs);
int (*copy_node) (struct hlist_node *p, struct mesh_table *newtbl); int (*copy_node) (struct hlist_node *p, struct mesh_table *newtbl);
int size_order; int size_order;
int mean_chain_len;
struct hlist_head *known_gates; struct hlist_head *known_gates;
spinlock_t gates_lock; spinlock_t gates_lock;

View File

@ -160,11 +160,10 @@ static int mesh_table_grow(struct mesh_table *oldtbl,
int i; int i;
if (atomic_read(&oldtbl->entries) if (atomic_read(&oldtbl->entries)
< oldtbl->mean_chain_len * (oldtbl->hash_mask + 1)) < MEAN_CHAIN_LEN * (oldtbl->hash_mask + 1))
return -EAGAIN; return -EAGAIN;
newtbl->free_node = oldtbl->free_node; newtbl->free_node = oldtbl->free_node;
newtbl->mean_chain_len = oldtbl->mean_chain_len;
newtbl->copy_node = oldtbl->copy_node; newtbl->copy_node = oldtbl->copy_node;
newtbl->known_gates = oldtbl->known_gates; newtbl->known_gates = oldtbl->known_gates;
atomic_set(&newtbl->entries, atomic_read(&oldtbl->entries)); atomic_set(&newtbl->entries, atomic_read(&oldtbl->entries));
@ -585,7 +584,7 @@ struct mesh_path *mesh_path_add(struct ieee80211_sub_if_data *sdata,
hlist_add_head_rcu(&new_node->list, bucket); hlist_add_head_rcu(&new_node->list, bucket);
if (atomic_inc_return(&tbl->entries) >= if (atomic_inc_return(&tbl->entries) >=
tbl->mean_chain_len * (tbl->hash_mask + 1)) MEAN_CHAIN_LEN * (tbl->hash_mask + 1))
grow = 1; grow = 1;
mesh_paths_generation++; mesh_paths_generation++;
@ -714,7 +713,7 @@ int mpp_path_add(struct ieee80211_sub_if_data *sdata,
hlist_add_head_rcu(&new_node->list, bucket); hlist_add_head_rcu(&new_node->list, bucket);
if (atomic_inc_return(&tbl->entries) >= if (atomic_inc_return(&tbl->entries) >=
tbl->mean_chain_len * (tbl->hash_mask + 1)) MEAN_CHAIN_LEN * (tbl->hash_mask + 1))
grow = 1; grow = 1;
spin_unlock(&tbl->hashwlock[hash_idx]); spin_unlock(&tbl->hashwlock[hash_idx]);
@ -1076,7 +1075,6 @@ int mesh_pathtbl_init(void)
return -ENOMEM; return -ENOMEM;
tbl_path->free_node = &mesh_path_node_free; tbl_path->free_node = &mesh_path_node_free;
tbl_path->copy_node = &mesh_path_node_copy; tbl_path->copy_node = &mesh_path_node_copy;
tbl_path->mean_chain_len = MEAN_CHAIN_LEN;
tbl_path->known_gates = kzalloc(sizeof(struct hlist_head), GFP_ATOMIC); tbl_path->known_gates = kzalloc(sizeof(struct hlist_head), GFP_ATOMIC);
if (!tbl_path->known_gates) { if (!tbl_path->known_gates) {
ret = -ENOMEM; ret = -ENOMEM;
@ -1092,7 +1090,6 @@ int mesh_pathtbl_init(void)
} }
tbl_mpp->free_node = &mesh_path_node_free; tbl_mpp->free_node = &mesh_path_node_free;
tbl_mpp->copy_node = &mesh_path_node_copy; tbl_mpp->copy_node = &mesh_path_node_copy;
tbl_mpp->mean_chain_len = MEAN_CHAIN_LEN;
tbl_mpp->known_gates = kzalloc(sizeof(struct hlist_head), GFP_ATOMIC); tbl_mpp->known_gates = kzalloc(sizeof(struct hlist_head), GFP_ATOMIC);
if (!tbl_mpp->known_gates) { if (!tbl_mpp->known_gates) {
ret = -ENOMEM; ret = -ENOMEM;