Search Linux Wireless

Re: [PATCH 4/6] mac80211: minstrel_ht: significantly redesign the rate probing strategy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux