Re: [PATCH 6.1 140/451] ipv6: mcast: remove one synchronize_net() barrier in ipv6_mc_down()

From: Pavel Machek
Date: Thu Mar 28 2024 - 06:35:27 EST


Hi!

> From: Eric Dumazet <edumazet@xxxxxxxxxx>
>
> [ 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);
>

--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

Attachment: signature.asc
Description: PGP signature