Re: [PATCH 0/9] net: bridge: reduce multicast checks in fast path
From: Nikolay Aleksandrov <razor@blackwall.org>
Date: 2025-08-29 16:23:31
Also in:
bridge, lkml
On 8/29/25 18:47, Jakub Kicinski wrote:
On Fri, 29 Aug 2025 10:53:41 +0200 Linus Lüssing wrote:quoted
This patchset introduces new state variables to combine and reduce the number of checks we would otherwise perform on every multicast packet in fast/data path. The second reason for introducing these new, internal multicast active variables is to later propagate a safety mechanism which was introduced in b00589af3b04 ("bridge: disable snooping if there is no querier") to switchdev/DSA, too. That is to notify switchdev/DSA if multicast snooping can safely be applied without potential packet loss.Please leave the git-generated diff stat in the cover letter. Please include tree designation in the subject, per: https://www.kernel.org/doc/html/next/process/maintainer-netdev.html I'll leave the real review to the experts but this series appears to make kselftests unhappy:
just fyi my email wasn't working for 2 days and unfortunately I missed this set I took a look now on patchwork, I do have comments but it's difficult to reply as I don't have the emails and have to do it manually to each, so I'd rather wait for v2. a few notes for v2: - please use READ/WRTE_ONCE() for variables that are used without locking - please make locking symmetric, I saw that br_multicast_open() expects the lock to be already held, while __br_multicast_stop() takes it itself - target net-next - is the mcast lock really necessary, would atomic ops do for this tracking? - can you provide the full view somewhere, how would this tracking be used? I fear there might still be races. - please add more details exactly what we save on the fast-path, I know but it'd be nice to have it in the commit message as well, all commits just say "reduce checks, save cycles" but there are no details what we save I will try to give more detailed comments in v2. Thank you, Nik