net neigh: RCU conversion of neigh hash table
David This is the first step for RCU conversion of neigh code. Next patches will convert hash_buckets[] and "struct neighbour" to RCU protected objects. Thanks [PATCH net-next] net neigh: RCU conversion of neigh hash table Instead of storing hash_buckets, hash_mask and hash_rnd in "struct neigh_table", a new structure is defined : struct neigh_hash_table { struct neighbour **hash_buckets; unsigned int hash_mask; __u32 hash_rnd; struct rcu_head rcu; }; And "struct neigh_table" has an RCU protected pointer to such a neigh_hash_table. This means the signature of (*hash)() function changed: We need to add a third parameter with the actual hash_rnd value, since this is not anymore a neigh_table field. Signed-off-by:Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- include/net/neighbour.h 12 additions, 4 deletionsinclude/net/neighbour.h
- net/atm/clip.c 2 additions, 2 deletionsnet/atm/clip.c
- net/core/neighbour.c 137 additions, 82 deletionsnet/core/neighbour.c
- net/decnet/dn_neigh.c 7 additions, 6 deletionsnet/decnet/dn_neigh.c
- net/ipv4/arp.c 5 additions, 3 deletionsnet/ipv4/arp.c
- net/ipv6/ndisc.c 7 additions, 3 deletionsnet/ipv6/ndisc.c
Please register or sign in to comment