ath10k/QCA6174 performance hit with multicast frame registration
James Prestwood
prestwoj at gmail.com
Mon Oct 21 05:44:20 PDT 2024
Hi,
A patch I authored appears to have introduced a performance hit with
ath10k/QCA6174 when userspace registers for frames and sets the
multicast RX flag:
commit 63b896629353157e8ca77cabdfab340b5c69ca59
Author: James Prestwood <prestwoj at gmail.com>
Date: Tue Dec 5 17:15:36 2023 +0200
wifi: ath10k: add support to allow broadcast action frame RX
First off, the performance issues appear generally as packet loss. It
only seems to happen when we get 10-15 or more clients all on the same
channel in the same vicinity (all registering for multicast frames).
This is somewhat uncommon even in our uses-cases which is why it took a
while to notice any of this behavior. Based on some PCAPs taken about
50-75% of the air traffic was retransmissions, many were ADDBA/Block ACK
related. Reverting this patch OR forcing the supplicant to not register
for multicast frames (thereby bypassing the configure_filter logic in
the driver) resolved the issues entirely.
From the supplicant side I am currently modifying IWD to only register
for these multicast frames when it needs them (i.e. when DPP starts).
Looking at wpa_supplicant it already does this afaict. So I think
broadly, the impact of this is relatively low and should only effect
users of IWD, running QCA6174's, in high client load environments. And
an IWD fix/workaround is in progress which would then only effect those
actively using DPP.
From the kernel side I would obviously like to fix this rather than
revert, but I'm hoping to get some guidance on what might be causing
this. Is the driver getting bombarded with multicast frames causing
drops? Is there some lower level filter I need to configure (like in the
firmware)? When I wrote this patch I was following what ath9k did as its
the only other driver (besides hwsim) that actually supports this. This
is making me question if ath9k also has this problem, but it was just
never noticed?
Jouni, you implemented the ath9k support, was anything like this noticed
in testing? Based on what we saw this last week its unlikely since it
requires so many clients, but I figured I'd ask.
Thanks,
James
More information about the ath10k
mailing list