[PATCH 2/3] wifi: ath12k: Optimize the lock contention of used list in Rx data path
Kalle Valo
kvalo at kernel.org
Mon Mar 18 11:09:11 PDT 2024
Karthikeyan Periyasamy <quic_periyasa at quicinc.com> writes:
> On 3/11/2024 6:35 PM, Kalle Valo wrote:
>> Karthikeyan Periyasamy <quic_periyasa at quicinc.com> writes:
>>
>>> 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>
>> Before looking at this in detail: When optimising something it would be
>> good to have before and after numbers showing the improvement. Otherwise
>> it's just wishful thinking.
>
> I don't have numbers. Like you said, Its just a wishful think.
So do you still want us to take this?
In the future please do provide numbers to show that the optimisation
really helps as intended. Otherwise we might even go backwards.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
More information about the ath12k
mailing list