Search Linux Wireless

Re: [PATCH] mac80211: Exponential moving average estimate for rc80211_simple

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

 



Hi,

I guess this patch will spawn a discussion, so let me comment a little
more.

I have a rt61pci card sitting in the box under my desk. Seems reception
isn't really good below my desk :-) With the current rc80211_simple I
have the following behaviour: Failed frames accumulate until
rc80211_simple decides to lower the rate. Unfortunately, the rate
control algorithm is quite unresponsive, so my rate goes down to 1Mb/s
immediately. Then I have to wait for some minutes until the statistics
have recovered enough for the rate control to raise the rate. Of course
it goes straight through the roof to 54Mb/s. Errors accumulate, and soon
I'm back at 1Mb/s. And so on.

My patch changes the way the average of failed frames is computed. By
using a moving average approach, old values don't influence the estimate
after some time (note the current approach always uses the plain
counters, thus using all information accumulated since the interface has
been brought up!). This makes the estimate more responsive and thus the
rate control algorithm works a lot better.

I've tested my approach by listening to web radio for some time and it
successfully keeps me between around 24Mb/s and 54Mb/s. From what I see
here, that's a big improvement over the roller coaster rate control
behaviour I had before.

Mattias

-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux