Sriram R <srirrama@xxxxxxxxxxxxxx> wrote: > IPQ8074 HW supports three TCL rings for tx. Currently these rings > are mapped based on the Access categories, viz. VO, VI, BE, BK. > In case, one of the traffic type dominates, then it could stress > the same tcl rings. Rather, it would be optimal to make use of all > the rings in a round robin fashion irrespective of the traffic type > so that the load could be evenly distributed among all the rings. > Also, in case the selected ring is busy or full, a retry mechanism > is used to ensure other available ring is selected without dropping > the packet. > > In SMP systems, this change avoids a single CPU from getting hogged > when heavy traffic of same category is transmitted. > The tx completion interrupts corresponding to the used tcl ring > would be more which causes the assigned CPU to get hogged. > Distribution of tx packets to different tcl rings helps balance > this load. > > Signed-off-by: Sriram R <srirrama@xxxxxxxxxxxxxx> > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. d687275b268b ath11k: Add dynamic tcl ring selection logic with retry mechanism -- https://patchwork.kernel.org/patch/11485549/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches