On Sat, Jan 18, 2025 at 05:59:56AM +0100, Marek Lindner wrote:
FYI, expected throughput and also 802.11 throughput estimation are taking congestion into account.
Are they? At least in minstrel_ht_get_tp_avg() I don't see it: https://elixir.bootlin.com/linux/v6.12.6/source/net/mac80211/rc80211_minstre...
And minstrel_ht_get_expected_throughput() uses minstrel_ht_get_tp_avg(): https://elixir.bootlin.com/linux/v6.12.6/source/net/mac80211/rc80211_minstre...
Seems to me like it uses the transmission duration of the chosen WLAN bitrate, multiplies it with the average transmission success probability on this rate there. And then also factors in aggregation and cuts off the thing between 10%-90% of chosen rate.
(Also, for a rate control algorithm I think factoring in congestion would only make sense if the RC algo were also factoring in the size of the packet to transmit? That is smaller packets have a higher tolerance to channel congestion. But in the debgufs rc_stats table I don't see any column per packet size (ranges) either. I think Minstrel assumes that congestion does not make a difference for which rate to choose for the sake of simplicity?)