From: Felix Fietkau <nbd@openwrt.org>
To: Derek Smithies <derek@indranet.co.nz>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
Benoit PAPILLAULT <benoit.papillault@free.fr>,
"Luis R. Rodriguez" <lrodriguez@atheros.com>,
Christian Lamparter <chunkeey@googlemail.com>,
Johannes Berg <johannes@sipsolutions.net>
Subject: Re: [RFC/RFT] minstrel_ht: new rate control module for 802.11n
Date: Mon, 01 Mar 2010 23:58:13 +0100 [thread overview]
Message-ID: <4B8C4685.8020202@openwrt.org> (raw)
In-Reply-To: <alpine.DEB.2.00.1003021122550.14059@kauri.acheron.indranet.co.nz>
On 2010-03-01 11:38 PM, Derek Smithies wrote:
> Hi,
> Great work on getting this far - it was a huge undertaking.
>
> Ok, before diving into the code, can we take a quick moment to think on
> this. I wonder if you can answer the following questions:
>
> a)Minstrel worked hard at using information that is good and reliable: -
> which is the record of what rates worked, and what rates failed.
> Minstrel avoids using things like RSSI (which is not reliable)
Yes, I still rely purely on tx status feedback, no RSSI voodoo.
> b)You have stated in previous emails that with 802.11n there are too many
> rates for minstrels random sampling technique.
>
> What is the approach taken in 802.11n & minstrel? I remember some comment
> about dividing the 802.11n rate set up into groups, and then minstrel does
> its thing within the rates of each group. - Do I have the idea here?
The previous comments were based on faulty tx status feedback because of
an ath9k issue that I resolved in a previous patch. The current
implementation still does random sampling, with one exception: each
sampling attempt goes to a different MCS group.
Other than that, I split up the MCS rates into groups mainly because
it's easier to deal with and allows me to calculate raw transmit
durations at compile time.
I did add some small special cases though. For instance if the code
detects that the current transmit rate is failing really quickly on a
multi-stream rate, it falls back to the max_tp_rate of a single-stream
group, while leaving around enough feedback for EWMA.
This reduces the strength of the throughput drop when I disconnect one
antenna (which kills off pretty much all of the dual-stream rates
immediately).
> Where have you tested 802.11n & minstrel?
Only at home. I just finished ironing out most of the important bugs
today, so this hasn't seen any significant long-term testing yet.
> Does 802.11n&minstrel pass the basic test
> a) put two nodes on the desk - rate is high
> b) move one of the nodes (or remove antenna) - rate should drop
> c) move nodes back to the configuration of a)
> -rate should go high again
Yes, this was my primary test. I also did some tests with removing both
antennas and moving the laptop away and back again.
I also did quite a few tests switching back and forth between
minstrel_ht and the ath9k rate control to compare them as accurately as
possible. In HT40, rate adaptation with minstrel is usually a little
slower (only a minor difference here, probably caused by the much larger
search space), but it's able to deal with sources of interference (e.g.
Bluetooth) a lot better.
It also reacts much faster to problems with spatial multiplexing, and
seems to get a better average throughput in HT20 in my tests.
> Does 802.11n&minstrel work well with time?
> In other words, is the throughput 10 hours later the same as at the start
> of the test?
If I force it to single-stream mode, then it seems to be just as
reliable at sticking to a specific rate as the legacy implementation.
With dual-stream rates it's hard to tell, because the reliability of
rates varies quickly, even if the positions is fixed. I do not see any
*significant* variations in throughput though.
- Felix
next prev parent reply other threads:[~2010-03-01 22:58 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-01 22:05 [RFC/RFT] minstrel_ht: new rate control module for 802.11n Felix Fietkau
2010-03-01 22:38 ` Derek Smithies
2010-03-01 22:58 ` Felix Fietkau [this message]
2010-03-01 23:04 ` Derek Smithies
2010-03-02 12:19 ` Björn Smedman
2010-03-02 14:51 ` Felix Fietkau
2010-03-02 15:47 ` Björn Smedman
2010-03-02 16:14 ` Felix Fietkau
2010-06-23 16:36 ` Björn Smedman
2010-06-23 17:07 ` Felix Fietkau
2010-06-23 18:47 ` Björn Smedman
2010-06-23 19:27 ` Felix Fietkau
2010-06-23 23:56 ` Björn Smedman
2010-06-28 0:01 ` Björn Smedman
2010-06-28 0:12 ` Felix Fietkau
2010-06-28 10:20 ` Björn Smedman
2010-06-28 10:27 ` Felix Fietkau
2010-03-02 21:55 ` Derek Smithies
2010-03-04 14:12 ` Bob Copeland
2010-03-04 16:40 ` Björn Smedman
2010-03-04 20:11 ` Derek Smithies
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B8C4685.8020202@openwrt.org \
--to=nbd@openwrt.org \
--cc=benoit.papillault@free.fr \
--cc=chunkeey@googlemail.com \
--cc=derek@indranet.co.nz \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=lrodriguez@atheros.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).