ath11k: Add peer rhash table support
authorKarthikeyan Periyasamy <quic_periyasa@quicinc.com>
Wed, 23 Mar 2022 09:14:17 +0000 (11:14 +0200)
committerKalle Valo <quic_kvalo@quicinc.com>
Fri, 25 Mar 2022 10:31:10 +0000 (12:31 +0200)
commit7b0c70d92a435913f6e11d6a248b935697e8a3eb
tree3db185d263dd6754d9f568fc530fab8805c84392
parent9d97114d222047c0699bbdbf8f128907f423bbe6
ath11k: Add peer rhash table support

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@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/1644036628-5334-1-git-send-email-quic_periyasa@quicinc.com
drivers/net/wireless/ath/ath11k/core.c
drivers/net/wireless/ath/ath11k/core.h
drivers/net/wireless/ath/ath11k/mac.c
drivers/net/wireless/ath/ath11k/peer.c
drivers/net/wireless/ath/ath11k/peer.h