Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Mar 2010 14:05:52 +0100
From:      Rui Paulo <rpaulo@gmail.com>
To:        Sam Leffler <sam@errno.com>, Andrew Thompson <thompsa@freebsd.org>, Weongyo Jeong <weongyo@freebsd.org>, Bernhard Schmidt <bschmidt@techwires.net>
Cc:        freebsd-net <freebsd-net@freebsd.org>
Subject:   net80211 ratectl proof of concept
Message-ID:  <D1EDB040-BB1F-41E2-8E1B-9DEF6171903D@gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,
I've started developing a ratectl framework for net80211, loosely based =
on what DragonFly has. Right now only one driver has been ported, but I =
would like your feedback before continuing.

The objective is to, eventually, have all the ratectl stuff (amrr, =
sample, onoe(?) and rssadapt) in net80211 so all drivers can use it. We =
can also select which ratectl modules are built in the kernel config =
file.
The framework support changing the current ratectl is out of scope for =
this patch.

You can find the patch here:
	* http://people.freebsd.org/~rpaulo/ratectl.diff

Only the ral driver and the AMRR rate control algorithms were ported.

Some comments:
o The rate control calls now dereferences several pointers and some =
inline functions are now real functions. I wonder how much this impacts =
performance and what we can do to solve it.

o I wished there was a better way to do the IEEE80211_AMRR_SUCCESS / =
IEEE80211_AMRR_FAILURe call.

o Some other stuff can also be `const'

o I create ieee80211_ratect.[ch] to avoid polluting other files

o I moved the AMRR parameters inside amrr_init() on purpose. The drivers =
we have now only specify a different interval and I plan to add export =
amrr_set_interval() via the ratectl framework later.


I would like very much to see this in, unless there's a strong impending =
argument.

Thanks,
--
Rui Paulo




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D1EDB040-BB1F-41E2-8E1B-9DEF6171903D>