From: Mattias Nissler <mattias.nissler@gmx.de>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: "John W. Linville" <linville@tuxdriver.com>,
linux-wireless <linux-wireless@vger.kernel.org>,
Michael Wu <flamingice@sourmilk.net>
Subject: Re: [RFC/T][PATCH][V3] mac80211: Exponential moving average estimate for rc80211_simple
Date: Tue, 27 Nov 2007 22:29:07 +0100 [thread overview]
Message-ID: <1196198947.8298.13.camel@localhost> (raw)
In-Reply-To: <1196172814.6058.23.camel@johannes.berg>
On Tue, 2007-11-27 at 15:13 +0100, Johannes Berg wrote:
> On Mon, 2007-11-26 at 22:30 +0100, Mattias Nissler wrote:
> > This changes rc80211_simple failed frame percentage estimation to use an
> > exponential moving average method. Failed frames percentage is sampled over
> > time and a smoothed average is computed. This average is examined periodically
> > and the rate adjusted eventually.
> >
> > Compared to the old method this new approach is much more responsive. The old
> > method used plain tx success/failure counters. This made rate control very
> > unresponsive after a short time of using the interface, since old data wouldn't
> > age properly.
>
> Sounds sane and better than before. If it works we can apply this I
> guess.
Before this goes in, I have at least one issue to be discussed: As it
is, the patch calculates the failed frames percentage exclusively from
the retry_count. I'm not sure whether this is what we want, because some
drivers cannot provide this parameter (or they only know there have been
retries, but not how many). This is the case e.g. for the rt2x00 usb
devices. I'm not sure what to do about this. My suggestion would be
something like:
srctrl->tx_num_xmit++;
if (status->excessive_retries) {
srctrl->tx_num_failed += 2;
srctrl->tx_num_xmit++;
} else if (status->retry_count) {
srctrl->tx_num_failed++;
srctrl->tx_num_xmit++;
}
This accounts correctly transmitted frames as one good, failed frames 2
bad and retry-succeeded frames 1 good + 1 bad point in the failed
percentage calculation. Opinions?
Mattias
next prev parent reply other threads:[~2007-11-27 21:29 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-26 21:30 [RFC/T][PATCH][V3] mac80211: Exponential moving average estimate for rc80211_simple Mattias Nissler
2007-11-27 14:13 ` Johannes Berg
2007-11-27 15:07 ` Larry Finger
2007-11-27 21:30 ` Mattias Nissler
2007-11-27 22:01 ` Larry Finger
2007-11-27 21:29 ` Mattias Nissler [this message]
2007-11-27 15:35 ` Stefano Brivio
2007-11-27 21:38 ` Mattias Nissler
2007-11-27 23:29 ` Stefano Brivio
2007-11-28 16:34 ` Mattias Nissler
2007-11-28 17:43 ` Stefano Brivio
2007-11-29 1:59 ` Mattias Nissler
2007-11-29 4:02 ` Stefano Brivio
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=1196198947.8298.13.camel@localhost \
--to=mattias.nissler@gmx.de \
--cc=flamingice@sourmilk.net \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.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).