mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 05:31:15 +00:00
ipv6: mcast: RCU conversion
ipv6_sk_mc_lock rwlock becomes a spinlock. readers (inet6_mc_check()) now takes rcu_read_lock() instead of read lock. Writers dont need to disable BH anymore. struct ipv6_mc_socklist objects are reclaimed after one RCU grace period. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2757a15f08
commit
456b61bca8
3 changed files with 47 additions and 33 deletions
|
@ -89,10 +89,11 @@ struct ip6_sf_socklist {
|
|||
struct ipv6_mc_socklist {
|
||||
struct in6_addr addr;
|
||||
int ifindex;
|
||||
struct ipv6_mc_socklist *next;
|
||||
struct ipv6_mc_socklist __rcu *next;
|
||||
rwlock_t sflock;
|
||||
unsigned int sfmode; /* MCAST_{INCLUDE,EXCLUDE} */
|
||||
struct ip6_sf_socklist *sflist;
|
||||
struct rcu_head rcu;
|
||||
};
|
||||
|
||||
struct ip6_sf_list {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue