Re: [PATCH 6.6 295/322] netfilter: ipset: fix performance regression in swap operation

Bagas Sanjaya
2024-02-04T07:00:18Z

[-- Attachment #1: Type: text/plain, Size: 1338 bytes --]

On Fri, Feb 02, 2024 at 08:06:32PM -0800, Greg Kroah-Hartman wrote:
> 6.6-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Jozsef Kadlecsik <kadlec@netfilter.org>
>
> [ Upstream commit 97f7cf1cd80eeed3b7c808b7c12463295c751001 ]
>
> The patch "netfilter: ipset: fix race condition between swap/destroy
> and kernel side add/del/test", commit 28628fa9 fixes a race condition.
> But the synchronize_rcu() added to the swap function unnecessarily slows
> it down: it can safely be moved to destroy and use call_rcu() instead.
>
> Eric Dumazet pointed out that simply calling the destroy functions as
> rcu callback does not work: sets with timeout use garbage collectors
> which need cancelling at destroy which can wait. Therefore the destroy
> functions are split into two: cancelling garbage collectors safely at
> executing the command received by netlink and moving the remaining
> part only into the rcu callback.

Hi,

Стас Ничипорович <stasn77@gmail.com> reported ipset kernel panic with this
patch [1]. He noted that reverting it fixed the regression.

Thanks.

[1]: https://lore.kernel.org/stable/CAH37n11s_8qjBaDrao3PKct4FriCWNXHWBBHe-ddMYHSw4wK0Q@mail.gmail.com/

--
An old man doll... just what I always wanted! - Clara

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]