Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Sep 2012 10:43:50 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        freebsd-wireless@freebsd.org
Subject:   [CFT] ath_rate_sample fixes for 11n
Message-ID:  <CAJ-VmokCNZcFvbL4KkWsn8YZr4TEFpzop1zpaPrCcoyTt6p5vA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--047d7b15ae55d38b6104c984bbc0
Content-Type: text/plain; charset=ISO-8859-1

Hi all,

Now that I have a live, convenient way of visualising the rate control
data, I decided to do a bit of digging into why HT rate recovery is so
slow.

Here's what I've found:

* the default EWMA smoothing rate (95) is resistant to change - both
temporary hiccups in the environment AND sudden improvements in the
environment;
* the sampling was occuring across the whole set of MCS rates - and
there's potentially a LOT of them!;
* i was avoiding sampling rates that were failing (but not enough to
fail the WHOLE aggregate frame) - which unfortunately meant that it
would take up to 10 seconds to start considering sampling those rates
and I'd only ever sample them once every 10 seconds.

The last one is the kicker. I inserted some logic to delay sampling HT
rates whose average TX time were 10% higher than the current best HT
rate. Unfortunately this meant I only sampled it once every 10 seconds
and would do that until the average TX time dropped to with 10% of the
best rate. This could take a looong time.

So, with this patch, HT rate control seems to behave slightly more
usefully in changing environments. It may not "stay" on a high rate in
the face of temporary interference but it's likely "good enough" for
most situations. It definitely fixes the HT rate _recovery_ issues
that I see.

Now if you really _DO_ want the rate control code to stick with a
higher rate in the face of some errors and get that little bit more
TCP/UDP throughput, please help me test this and then I'll give you
some little tasks to research and code up.

Barring any real significant performance drops in my testing over the
next couple days or any weird reports from you users, I plan on
committing this rate control change by the weekend.

Thanks,



Adrian

--047d7b15ae55d38b6104c984bbc0
Content-Type: application/octet-stream; name="20120912-sample-ht-fixes.diff"
Content-Disposition: attachment; filename="20120912-sample-ht-fixes.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h70q0k6i0

SW5kZXg6IGRldi9hdGgvYXRoX3JhdGUvc2FtcGxlL3NhbXBsZS5jCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRl
di9hdGgvYXRoX3JhdGUvc2FtcGxlL3NhbXBsZS5jCShyZXZpc2lvbiAyNDAzMzMpCisrKyBkZXYv
YXRoL2F0aF9yYXRlL3NhbXBsZS9zYW1wbGUuYwkod29ya2luZyBjb3B5KQpAQCAtMjkzLDI3ICsy
OTMsMTcgQEAKIAkJfQogCiAJCS8qCi0JCSAqIFdoZW4gZG9pbmcgYWdncmVnYXRpb24sIHN1Y2Nl
c3NpdmUgZmFpbHVyZXMgZG9uJ3QgaGFwcGVuCi0JCSAqIGFzIG9mdGVuLCBhcyBzb21ldGltZXMg
c29tZSBvZiB0aGUgc3ViLWZyYW1lcyBnZXQgdGhyb3VnaC4KLQkJICoKLQkJICogSWYgdGhlIHNh
bXBsZSByaXggYXZlcmFnZSB0eCB0aW1lIGlzIGdyZWF0ZXIgdGhhbiB0aGUKLQkJICogYXZlcmFn
ZSB0eCB0aW1lIG9mIHRoZSBjdXJyZW50IHJpeCwgZG9uJ3QgaW1tZWRpYXRlbHkgdXNlCi0JCSAq
IHRoZSByYXRlIGZvciBzYW1wbGluZy4KKwkJICogRm9yIEhULCBvbmx5IHNhbXBsZSBhIGZldyBy
YXRlcyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUKKwkJICogY3VycmVudCByaXg7IHRoZXJlJ3MgcXVp
dGUgbGlrZWx5IGEgbG90IG9mIHRoZW0uCiAJCSAqLwogCQlpZiAoYW4tPmFuX25vZGUubmlfZmxh
Z3MgJiBJRUVFODAyMTFfTk9ERV9IVCkgewotCQkJaWYgKChzbi0+c3RhdHNbc2l6ZV9iaW5dW3Jp
eF0uYXZlcmFnZV90eF90aW1lICogMTAgPgotCQkJICAgIHNuLT5zdGF0c1tzaXplX2Jpbl1bY3Vy
cmVudF9yaXhdLmF2ZXJhZ2VfdHhfdGltZSAqIDkpICYmCi0JCQkgICAgKHRpY2tzIC0gc24tPnN0
YXRzW3NpemVfYmluXVtyaXhdLmxhc3RfdHggPCBzc2MtPnN0YWxlX2ZhaWx1cmVfdGltZW91dCkp
IHsKKwkJCWlmIChyaXggPCAoY3VycmVudF9yaXggLSAzKSB8fAorCQkJICAgIHJpeCA+IChjdXJy
ZW50X3JpeCArIDMpKSB7CiAJCQkJbWFzayAmPSB+KCh1aW50NjRfdCkgMTw8cml4KTsKIAkJCQln
b3RvIG5leHRyYXRlOwogCQkJfQogCQl9CiAKLQkJLyoKLQkJICogWFhYIFRPRE8KLQkJICogRm9y
IEhULCBsaW1pdCBzYW1wbGUgc29tZWhvdz8KLQkJICovCi0KIAkJLyogRG9uJ3Qgc2FtcGxlIG1v
cmUgdGhhbiAyIHJhdGVzIGhpZ2hlciBmb3IgcmF0ZXMgPiAxMU0gZm9yIG5vbi1IVCByYXRlcyAq
LwogCQlpZiAoISAoYW4tPmFuX25vZGUubmlfZmxhZ3MgJiBJRUVFODAyMTFfTk9ERV9IVCkpIHsK
IAkJCWlmIChET1QxMVJBVEUocml4KSA+IDIqMTEgJiYgcml4ID4gY3VycmVudF9yaXggKyAyKSB7
CkBAIC0xNDIwLDcgKzE0MTAsNyBAQAogCWlmIChzc2MgPT0gTlVMTCkKIAkJcmV0dXJuIE5VTEw7
CiAJc3NjLT5hcmMuYXJjX3NwYWNlID0gc2l6ZW9mKHN0cnVjdCBzYW1wbGVfbm9kZSk7Ci0Jc3Nj
LT5zbW9vdGhpbmdfcmF0ZSA9IDk1OwkJLyogZXdtYSBwZXJjZW50YWdlIChbMC4uOTldKSAqLwor
CXNzYy0+c21vb3RoaW5nX3JhdGUgPSA3NTsJCS8qIGV3bWEgcGVyY2VudGFnZSAoWzAuLjk5XSkg
Ki8KIAlzc2MtPnNtb290aGluZ19taW5wYWNrZXRzID0gMTAwIC8gKDEwMCAtIHNzYy0+c21vb3Ro
aW5nX3JhdGUpOwogCXNzYy0+c2FtcGxlX3JhdGUgPSAxMDsJCQkvKiAldGltZSB0byB0cnkgZGlm
ZiB0eCByYXRlcyAqLwogCXNzYy0+bWF4X3N1Y2Nlc3NpdmVfZmFpbHVyZXMgPSAzOwkvKiB0aHJl
c2hvbGQgZm9yIHJhdGUgc2FtcGxpbmcqLwo=
--047d7b15ae55d38b6104c984bbc0--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmokCNZcFvbL4KkWsn8YZr4TEFpzop1zpaPrCcoyTt6p5vA>