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