]> git.baikalelectronics.ru Git - kernel.git/commit
ipv6: avoid taking locks at socket dismantle
authorEric Dumazet <edumazet@google.com>
Wed, 5 Dec 2012 09:18:10 +0000 (09:18 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 5 Dec 2012 21:01:28 +0000 (16:01 -0500)
commit56b6af7e9ca4555b6bfc4ad29df464817de28d47
treec254570a9058345ea2eb1f319cc5c88cfe8c65ee
parent83cd5f26b07843a859dde855249aa04fe0646b74
ipv6: avoid taking locks at socket dismantle

ipv6_sock_mc_close() is called for ipv6 sockets at close time, and most
of them don't use multicast.

Add a test to avoid contention on a shared spinlock.

Same heuristic applies for ipv6_sock_ac_close(), to avoid contention
on a shared rwlock.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/anycast.c
net/ipv6/mcast.c