Felix Fietkau <nbd@xxxxxxxx> writes: > On 2021-01-25 12:56, Toke Høiland-Jørgensen wrote: >> Felix Fietkau <nbd@xxxxxxxx> writes: >> >>> The biggest flaw in current minstrel_ht is the fact that it needs way too >>> many probing packets to be able to quickly find the best rate. >>> Depending on the wifi hardware and operating mode, this can significantly >>> reduce throughput when not operating at the highest available data rate. >>> >>> In order to be able to significantly reduce the amount of rate sampling, >>> we need a much smarter selection of probing rates. >>> >>> The new approach introduced by this patch maintains a limited set of >>> available rates to be tested during a statistics window. >>> >>> They are split into distinct categories: >>> - MINSTREL_SAMPLE_TYPE_INC - incremental rate upgrade: >>> Pick the next rate group and find the first rate that is faster than >>> the current max. throughput rate >>> - MINSTREL_SAMPLE_TYPE_JUMP - random testing of higher rates: >>> Pick a random rate from the next group that is faster than the current >>> max throughput rate. This allows faster adaptation when the link changes >>> significantly >>> - MINSTREL_SAMPLE_TYPE_SLOW - test a rate between max_prob, max_tp2 and >>> max_tp in order to reduce the gap between them >>> >>> In order to prioritize sampling, every 6 attempts are split into 3x INC, >>> 2x JUMP, 1x SLOW. >>> >>> Available rates are checked and refilled on every stats window update. >> >> Very cool! >> >>> With this approach, we finally get a very small delta in throughput when >>> comparing setting the optimal data rate as a fixed rate vs normal rate >>> control operation. >> >> Can you quantify this "very small delta"? Would love to see some >> benchmark data :) > Based on a quick test it seems to be around 5% (sometimes less) at VHT80 > MCS6 nss=4 with ~350 mbit/s TCP throughput. I guess I might be able to > bring that down even further, once I optimize it some more. Cool! And pre-patch? -Toke