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:
parent
0ef049dc11
commit
3f73fe9fd8
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue