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:

> 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 :)

-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