[Make-wifi-fast] [RFC/RFT 0/5] Adding an airtime fairness scheduler to ath9k
luca.muscariello at gmail.com
Sat Jun 4 11:24:42 EDT 2016
I don't fully understand your plots but it would be useful to
report the physical rate of the stations.
As a benchmark, if you know the physical rates assuming they are also
optimally chosen (by minstrel for instance ) and stations don't move, the
long term throughout can be computed ( e.g. for TCP ) assuming air time
Than you can understand if your gain is what you should expect or if the
implementation is not yet done.
On Friday, 3 June 2016, Toke Høiland-Jørgensen <toke at toke.dk> wrote:
> This patch set is my first pass at attempting to add an airtime fairness
> enforcing scheduler to ath9k (for use in access point mode). For some
> background on this approach and its possible benefits see this paper:
> This is still very preliminary work, but I thought I'd post it for
> comment anyway. Tentatively, it's looking like it gives some
> improvement, but is by no means perfect in what it is achieving. See
> for some graphs of the patch set. I'm seeing roughly a 15% improvement
> in aggregate throughput in the presence of a slow station.
> To work, the scheduler needs per-station queueing, so this patch series
> also includes Michal's patch to not have qdiscs on the interface when
> wake_tx_queue is present, and Tim's patch to add wake_tx_queue to ath9k.
> The latter I reworked to not require the global variable renaming, since
> I found that change to be too confusing after having spent time getting
> used to the ath9k names for things (I put my own name on this commit and
> added a second Signed-off-by; apologies if this is not the right way to
> do things for this kind of rework).
> The scheduler patch set itself is in three parts: The first patch simply
> adds airtime accounting and exports it to a per-station debugfs file
> (which the latest git version of Flent knows how to read). The second
> patch adds the airtime scheduler using only the TX airtime information.
> Finally the third patch adds in RX airtime to the deficit used by the
> scheduler. This last part is not always a win (see the blog post linked
> above), but I haven't tested it extensively. So feel free to test with
> or without the last patch.
> There is some code duplication between the debugfs code and the
> scheduler which I haven't removed yet to be able to easily switch
> between having the scheduler use the airtime values and simply
> accounting them for debugging purposes.
> Comments and test results very welcome! :)
> Michal Kazior (1):
> mac80211: skip netdev queue control with software queuing
> Toke Høiland-Jørgensen (4):
> ath9k: use mac80211 intermediate software queues
> ath9k: Add airstame stats to per-station debugfs
> ath9k: Add a per-station airtime deficit scheduler
> ath9k: Count RX airtime in airtime deficit.
> drivers/net/wireless/ath/ath9k/ath9k.h | 27 +++-
> drivers/net/wireless/ath/ath9k/channel.c | 12 +-
> drivers/net/wireless/ath/ath9k/debug.h | 29 ++++
> drivers/net/wireless/ath/ath9k/debug_sta.c | 144 ++++++++++++++++++-
> drivers/net/wireless/ath/ath9k/init.c | 1 +
> drivers/net/wireless/ath/ath9k/main.c | 7 +-
> drivers/net/wireless/ath/ath9k/recv.c | 50 +++++++
> drivers/net/wireless/ath/ath9k/xmit.c | 222
> include/net/mac80211.h | 4 -
> net/mac80211/ieee80211_i.h | 2 +-
> net/mac80211/iface.c | 18 ++-
> net/mac80211/main.c | 3 -
> net/mac80211/sta_info.c | 2 +-
> net/mac80211/tx.c | 82 ++++++-----
> net/mac80211/util.c | 11 +-
> 15 files changed, 511 insertions(+), 103 deletions(-)
> Make-wifi-fast mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Make-wifi-fast