]> 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)
commitfe0b43e625f63fad1d1d7ed5f56243feb17597f0
treec254570a9058345ea2eb1f319cc5c88cfe8c65ee
parent2efa84504252cf200a28eea656901b99524b9b4a
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