From: Luca Muscariello <luca.muscariello@gmail.com>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"make-wifi-fast@lists.bufferbloat.net"
<make-wifi-fast@lists.bufferbloat.net>,
"ath9k-devel@lists.ath9k.org" <ath9k-devel@lists.ath9k.org>
Subject: Re: [Make-wifi-fast] [RFC/RFT 0/5] Adding an airtime fairness scheduler to ath9k
Date: Sat, 4 Jun 2016 17:24:42 +0200 [thread overview]
Message-ID: <CAHx=1M4K5jx1__PtD1hXZcpTrqvULfEr2fd7KJ=0neYoBQQt3g@mail.gmail.com> (raw)
In-Reply-To: <20160603165144.17356-1-toke@toke.dk>
[-- Attachment #1: Type: text/plain, Size: 4221 bytes --]
Toke
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
fairness.
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@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:
> https://www.usenix.org/event/usenix04/tech/general/full_papers/tan/tan.pdf
>
> 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
>
> https://blog.tohojo.dk/2016/06/a-first-stab-at-an-airtime-fairness-scheduler-for-ath9k.html
> 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! :)
>
> -Toke
>
>
>
> 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(-)
>
> --
> 2.7.4
> _______________________________________________
> Make-wifi-fast mailing list
> Make-wifi-fast@lists.bufferbloat.net <javascript:;>
> https://lists.bufferbloat.net/listinfo/make-wifi-fast
>
[-- Attachment #2: Type: text/html, Size: 5168 bytes --]
next prev parent reply other threads:[~2016-06-04 15:24 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-03 16:51 Toke Høiland-Jørgensen
2016-06-03 16:51 ` [Make-wifi-fast] [RFC/RFT 1/5] mac80211: skip netdev queue control with software queuing Toke Høiland-Jørgensen
2016-06-06 2:26 ` Julian Calaby
2016-06-06 17:00 ` Toke Høiland-Jørgensen
2016-06-03 16:51 ` [Make-wifi-fast] [RFC/RFT 2/5] ath9k: use mac80211 intermediate software queues Toke Høiland-Jørgensen
2016-06-03 16:51 ` [Make-wifi-fast] [RFC/RFT 3/5] ath9k: Add airstame stats to per-station debugfs Toke Høiland-Jørgensen
2016-06-03 16:51 ` [Make-wifi-fast] [RFC/RFT 4/5] ath9k: Add a per-station airtime deficit scheduler Toke Høiland-Jørgensen
2016-06-03 16:51 ` [Make-wifi-fast] [RFC/RFT 5/5] ath9k: Count RX airtime in airtime deficit Toke Høiland-Jørgensen
2016-06-04 17:06 ` Adrian Chadd
2016-06-05 10:55 ` Toke Høiland-Jørgensen
2016-06-05 17:23 ` Adrian Chadd
2016-06-07 0:01 ` Adrian Chadd
2016-06-07 1:31 ` Jonathan Morton
2016-06-07 8:58 ` Toke Høiland-Jørgensen
2016-06-07 11:12 ` Toke Høiland-Jørgensen
2016-06-08 1:41 ` Adrian Chadd
2016-06-08 13:06 ` Toke Høiland-Jørgensen
2016-06-10 8:40 ` Michal Kazior
2016-06-10 8:53 ` Toke Høiland-Jørgensen
2016-06-10 9:02 ` Michal Kazior
2016-06-10 9:08 ` Toke Høiland-Jørgensen
2016-06-10 9:20 ` Michal Kazior
2016-06-10 9:49 ` Toke Høiland-Jørgensen
2016-06-10 15:33 ` Toke Høiland-Jørgensen
2016-06-10 15:52 ` Adrian Chadd
2016-06-04 15:24 ` Luca Muscariello [this message]
2016-06-05 10:51 ` [Make-wifi-fast] [RFC/RFT 0/5] Adding an airtime fairness scheduler to ath9k Toke Høiland-Jørgensen
2016-06-05 11:40 ` Luca Muscariello
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
List information: https://lists.bufferbloat.net/postorius/lists/make-wifi-fast.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAHx=1M4K5jx1__PtD1hXZcpTrqvULfEr2fd7KJ=0neYoBQQt3g@mail.gmail.com' \
--to=luca.muscariello@gmail.com \
--cc=ath9k-devel@lists.ath9k.org \
--cc=linux-wireless@vger.kernel.org \
--cc=make-wifi-fast@lists.bufferbloat.net \
--cc=toke@toke.dk \
/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