linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: jketreno <jketreno@linux.intel.com>
To: Jiri Benc <jbenc@suse.cz>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
	"John W. Linville" <linville@tuxdriver.com>,
	Michael Wu <flamingice@sourmilk.net>
Subject: Re: Specifing rate control algorithm?
Date: Thu, 10 May 2007 13:17:12 -0700	[thread overview]
Message-ID: <46437DC8.2060805@linux.intel.com> (raw)
In-Reply-To: <20070510194233.335004b7@griffin.suse.cz>

Jiri Benc wrote:
> On Thu, 10 May 2007 09:17:26 -0700, James Ketrenos wrote:
>> We've written an open source rate control algorithm that can take
>> advantage of features our hardware has, that our users, testing,
>> research, and development has shown to be advantageous in terms of
>> solid performance, system overhead, power consumption, etc.
> 
> Please send your rate control algorithm first so we can know why are
> you requesting this. 

I told you the reason why I am requesting this.  Do you think I'm lying or trying to trick you?

Generic algorithms aren't as capable as hardware specific algorithms when you factor performance, latency, system utilization, power consumption, etc.  Optimal algorithms are written to take advantage of the capabilities exposed by the hardware.

The 3945, as an example, let's you configure the hardware with a set of rates, retries per rate, and a fallback order.  You submit one Tx request to the hardware and it then performs all the retries, fallbacks, etc without host interaction over overhead.  The rate control algorithm needs to be aware of the attempts made by the hardware.  The specific mechanism by which the 3945 sets up those rates is device specific.  The mechanism by which the results are reported back are device specific.  The functions related to selecting the Tx rate are called twice for *EVERY PACKET*.  Anything you can do to make that code-path faster and leaner for the specific device it is using is a win.  Hardware specific beats generic.

Might other hardware devices also support some type of rate fallback or automatic retries?  Maybe.  Do they all do it the same way?  No.  Is it worth slowing down hot code paths in the name of "generic software"?  Absolutely not.

James

PS.  You're free to download the 3945 specific rate control algorithm if you want.  It has been part of the GPL ipw3945 driver for over a year at http://ipw3945.sf.net.  You can also find it refactored in iwlwifi at http://intellinuxgraphics.org.

  reply	other threads:[~2007-05-10 18:46 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-09 23:05 Specifing rate control algorithm? James Ketrenos
2007-05-10 11:27 ` Jiri Benc
2007-05-10 15:48   ` Jouni Malinen
2007-05-10 16:00     ` Tomas Winkler
2007-05-10 16:17   ` James Ketrenos
2007-05-10 17:11     ` Johannes Berg
2007-05-10 17:26       ` Jouni Malinen
2007-05-10 19:36       ` jketreno
2007-05-11 11:36         ` Johannes Berg
2007-05-10 17:42     ` Jiri Benc
2007-05-10 20:17       ` jketreno [this message]
2007-05-10 19:23         ` Jiri Benc
2007-05-10 22:24           ` Tomas Winkler
2007-05-11  0:12             ` John W. Linville
2007-05-11  8:09               ` Andy Green
2007-05-11  9:07                 ` Jeff Garzik
2007-05-11  9:36                   ` Andy Green
2007-05-11 14:23                 ` Jouni Malinen
2007-05-11 15:04                   ` Andy Green
2007-05-11 15:42                     ` Jouni Malinen
2007-05-11 10:21             ` Jiri Benc

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=46437DC8.2060805@linux.intel.com \
    --to=jketreno@linux.intel.com \
    --cc=flamingice@sourmilk.net \
    --cc=jbenc@suse.cz \
    --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).