2010-10-14 22:43:03

by Paul Stewart

[permalink] [raw]
Subject: [PATCH 0/2] Add transmit rate CQM monitoring to mac80211

I've made another pass at things responding to much of the great input
Johannes has given. I've removed the silly ancient locking in
nl80211, redone the workqueue to go under mlme which has the advantage
of not requiring an interface walk every time. I've also documented
the bit rate a bit better, used a caching table (could do a completely
static one if that is preferred -- 64 bytes isn't that much), and
fixed a small bug with legacy rates being reported incorrectly. I
also merged the mac80211 bits and cfg80211 bits so that there are only
two patches, which should have them compilable (second dependent on
the first).

I did a test run on a constant walk around a floor of my building
under the conditions:

* wpa_supplicant using bgscan_learn (using only rssi to trigger
roaming -- unmodified from the perspective of this new change)
* ath9k using ath9k_rate_control
* Youtube running constantly (plenty of TCP ack traffic).
* Walked round plenty of metal building features, so RSSI varied
significantly
* Test lasted 360 seconds.
* RSSI monitoring was triggered 21 times (again, due only to RSSI)
* Scan triggered 10 times, roughly every 36 seconds on average.

In total, the calculate routine was called 755 times, averaging about
2 times a second. The notifier on the other hand was called 57 times.
I don't think that load is excessive, for user-space applications
that elect to pull this information. I'll throttle it down if folks
would like, but I have not done so yet.