diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2010-11-23 13:12:15 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-11-24 11:16:42 -0800 |
commit | 456b61bca8ee324ab6c18b065e632c9a8c88aa39 (patch) | |
tree | d1d458d78b6fffa32558ffbf7cdfc49a316a660c /include/linux/ipv6.h | |
parent | 2757a15f08adbed9480c30bdb4e9a0bbf2b6f33a (diff) | |
download | lwn-456b61bca8ee324ab6c18b065e632c9a8c88aa39.tar.gz lwn-456b61bca8ee324ab6c18b065e632c9a8c88aa39.zip |
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>
Diffstat (limited to 'include/linux/ipv6.h')
-rw-r--r-- | include/linux/ipv6.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 8e429d0e0405..0c997767429a 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h @@ -364,7 +364,7 @@ struct ipv6_pinfo { __u32 dst_cookie; - struct ipv6_mc_socklist *ipv6_mc_list; + struct ipv6_mc_socklist __rcu *ipv6_mc_list; struct ipv6_ac_socklist *ipv6_ac_list; struct ipv6_fl_socklist *ipv6_fl_list; |