Search Linux Wireless

RE: [PATCH] ath11k: Add peer rhash table support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Felix Fietkau <nbd@xxxxxxxx>
> Sent: Thursday, December 23, 2021 2:29 PM
> To: Karthikeyan Periyasamy (QUIC) <quic_periyasa@xxxxxxxxxxx>;
> ath11k@xxxxxxxxxxxxxxxxxxx
> Cc: linux-wireless@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] ath11k: Add peer rhash table support
> 
> WARNING: This email originated from outside of Qualcomm. Please be wary
> of any links or attachments, and do not enable macros.
> 
> On 2021-12-23 09:27, Karthikeyan Periyasamy wrote:
> > When more clients (128) are connected, the UL data traffic KPI
> > measurement is low compared to single client. This issue is due to
> > more CPU cycles spent on the peer lookup operation with more clients.
> > So reduce the peer lookup operation by modifying the linear based
> > lookup operation into the rhash based lookup operation. This improve
> > the peak throughput measurement. Since this is a software algorithm
> > change, it is applicable for all the platforms.
> >
> > TCP UL 128 Clients test case Observation (64bit system):
> > Previous: ~550 Mbps
> > Now   : ~860 Mbps
> >
> > Tested-on: QCN9074 hw1.0 PCI
> > WLAN.HK.2.5.0.1-01067-QCAHKSWPL_SILICONZ-1
> >
> > Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@xxxxxxxxxxx>
> Why does ath11k keep a separate peer list instead of just using the sta
> entry? That seems ugly and inefficient...

Atheros driver keep the peer list to track the peer entries that firmware is aware of peer_id across the SOC not per radio.
STA entry is per radio/hw not per SOC. It can't fulfill the requirement to map the SOC level peer_id to the peer list. Also firmware
map the AST index / peer id to the peer entries. So driver keeps the peer list, which help to drive the firmware. 
In this patch, we efficiently reduce the peer lookup operation.

Thanks,
Karthikeyan P




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux