mac80211: mesh: convert path table to rhashtable
In the time since the mesh path table was implemented as an RCU-traversable, dynamically growing hash table, a generic RCU hashtable implementation was added to the kernel. Switch the mesh path table over to rhashtable to remove some code and also gain some features like automatic shrinking. Cc: Thomas Graf <tgraf@suug.ch> Cc: netdev@vger.kernel.org Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
8f6fd83c6c
commit
60854fd945
@@ -697,17 +697,10 @@ struct ieee80211_if_mesh {
|
||||
/* offset from skb->data while building IE */
|
||||
int meshconf_offset;
|
||||
|
||||
struct mesh_table __rcu *mesh_paths;
|
||||
struct mesh_table __rcu *mpp_paths; /* Store paths for MPP&MAP */
|
||||
struct mesh_table *mesh_paths;
|
||||
struct mesh_table *mpp_paths; /* Store paths for MPP&MAP */
|
||||
int mesh_paths_generation;
|
||||
int mpp_paths_generation;
|
||||
|
||||
/* Protects assignment of the mesh_paths/mpp_paths table
|
||||
* pointer for resize against reading it for add/delete
|
||||
* of individual paths. Pure readers (lookups) just use
|
||||
* RCU.
|
||||
*/
|
||||
rwlock_t pathtbl_resize_lock;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_MAC80211_MESH
|
||||
|
Reference in New Issue
Block a user