[PATCH 2/3] wifi: ath12k: Optimize the lock contention of used list in Rx data path

Jeff Johnson quic_jjohnson at quicinc.com
Mon Feb 26 10:44:42 PST 2024


On 2/26/2024 8:23 AM, Karthikeyan Periyasamy wrote:
> When a packet arrives in Rx rings, the RX descriptor moves from the used
> list to the free list. Then, the rxdma ring gets replenished, where the Rx
> descriptor again moves from the free list to the used list. At the end, the
> descriptor came to the used list with unnecessary list movement. The
> descriptor used list is maintained in the Rxdma ring structure, which
> creates lock contention for the list operations (add, delete) in the Rx
> data path. Optimize the Rx data path by removing the used list from the
> common Rxdma ring and maintain as a local variable in the Rx ring handler
> itself, which avoid lock contention. Now, to find the used list descriptor
> during descriptor cleanup, we need to check the in_use flag for each Rx
> descriptor.
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
> 
> Signed-off-by: Karthikeyan Periyasamy <quic_periyasa at quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson at quicinc.com>




More information about the ath12k mailing list