Jonas Jelonek <jelonek.jonas@xxxxxxxxx> wrote: > This patch changes mac80211 rate control for the ath9k driver. The rate lookup > per packet is changed from legacy usage of ieee80211_get_tx_rates() to the new > rate table based lookup in struct ieee80211_sta->rates. > > The most recent rate control API, introduced with commit 0d528d85c519 > ("mac80211: improve the rate control API"), allows drivers to directly get > rates from ieee80211_sta->rates. This is not used by every driver yet, the > translation/merge is currently performed in ieee80211_get_tx_rates. This patch > changes the behaviour and avoids the call to ieee80211_get_tx_rates and > subsequent calls. ath9k now directly reads rates from sta->rates into its rate > table. Cause ath9k does not expect rate selection in SKB->CB, the table merge > does not consider rate array in SKB->CB except for the first entry (used for > probing). > > Tested with a 8devices Rambutan with QCA9558 SoC by performing two runs, one > without the patch and one with. Generated traffic between AP and multiple STAs > in each run, measured throughput and captured rc_stats. Comparison of both > runs resulted in same rate selection and no performance loss or other negative > effects. > > Co-developed-by: Thomas Huehn <thomas.huehn@xxxxxxxxxxxxxxxx> > Signed-off-by: Thomas Huehn <thomas.huehn@xxxxxxxxxxxxxxxx> > Signed-off-by: Jonas Jelonek <jelonek.jonas@xxxxxxxxx> > Acked-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> > Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. 7f3a6f5dd207 ath9k: switch to rate table based lookup -- https://patchwork.kernel.org/project/linux-wireless/patch/20211128090753.958-1-jelonek.jonas@xxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches