Re: [PATCH] ath5k: switch to rate table based lookup
flat view
From: Kalle Valo <kvalo@kernel.org>
Date: 2021-12-20 16:02:35
Jonas Jelonek [off-list ref] wrote:
Switching from legacy usage of ieee80211_get_tx_rates() lookup to direct rate table lookup in struct ieee80211_sta->rates. The current rate control API allows drivers to directly get rates from ieee80211_sta->rates. ath5k is currently one of the legacy drivers that perform translation/merge with the internal rate table via ieee80211_get_tx_rates provided by rate control API. For our upcoming changes to rate control API and the implementation of transmit power control, this patch changes the behaviour. The call to ieee80211_get_tx_rates and subsequent calls are also avoided. ath5k now directly reads rates from sta->rates into its internal rate table. Cause ath5k does not rely on the rate array in SKB->CB, this is not considered anymore except for the first entry (used for probing). Tested this on a PCEngines ALIX with CMP9-GP miniPCI wifi card (Atheros AR5213A). Generated traffic between AP and multiple STAs before and after applying the patch and simultaneously measured throughput and captured rc_stats. Comparison resulted in same rate selection and no performance loss between both runs. Co-developed-by: Thomas Huehn <redacted> Signed-off-by: Thomas Huehn <redacted> Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com> Signed-off-by: Kalle Valo <redacted>
Patch applied to ath-next branch of ath.git, thanks. a5d862da9105 ath5k: switch to rate table based lookup -- https://patchwork.kernel.org/project/linux-wireless/patch/20211215215042.637-1-jelonek.jonas@gmail.com/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches