Hi!
From: Eric Dumazet edumazet@google.com
[ Upstream commit 17ef8efc00b34918b966388b2af0993811895a8c ]
As discussed in the past (commit 2d3916f31891 ("ipv6: fix skb drops in igmp6_event_query() and igmp6_event_report()")) I think the synchronize_net() call in ipv6_mc_down() is not needed.
Under load, synchronize_net() can last between 200 usec and 5 ms.
KASAN seems to agree as well.
This is performance tweak, not a bugfix. We probably should not have it in stable.
Best regards, Pavel
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index 566f3b7b957e9..a777695389403 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c @@ -2722,7 +2722,6 @@ void ipv6_mc_down(struct inet6_dev *idev) /* Should stop work after group drop. or we will * start work again in mld_ifc_event() */
- synchronize_net(); mld_query_stop_work(idev); mld_report_stop_work(idev);