From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: Felix Fietkau <nbd@nbd.name>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
Michal Kazior <michal.kazior@tieto.com>
Subject: Re: TCP performance regression in mac80211 triggered by the fq code
Date: Tue, 12 Jul 2016 14:28:07 +0200 [thread overview]
Message-ID: <87shvfujl4.fsf@toke.dk> (raw)
In-Reply-To: <11fa6d16-21e2-2169-8d18-940f6dc11dca@nbd.name> (Felix Fietkau's message of "Tue, 12 Jul 2016 12:09:24 +0200")
Felix Fietkau <nbd@nbd.name> writes:
> Hi,
>
> With Toke's ath9k txq patch I've noticed a pretty nasty performance
> regression when running local iperf on an AP (running the txq stuff) to
> a wireless client.
>
> Here's some things that I found:
> - when I use only one TCP stream I get around 90-110 Mbit/s
> - when running multiple TCP streams, I get only 35-40 Mbit/s total
> - fairness between TCP streams looks completely fine
> - there's no big queue buildup, the code never actually drops any packets
> - if I put a hack in the fq code to force the hash to a constant value
> (effectively disabling fq without disabling codel), the problem
> disappears and even multiple streams get proper performance.
>
> Please let me know if you have any ideas.
Hmm, I see two TCP streams get about the same aggregate throughput as
one, both when started from the AP and when started one hop away.
However, do see TCP flows take a while to ramp up when started from the
AP - a short test gets ~70Mbps when run from one hop away and ~50Mbps
when run from the AP. how long are you running the tests for?
(I seem to recall the ramp-up issue to be there pre-patch as well,
though).
As for why this would happen... There could be a bug in the dequeue code
somewhere, but since you get better performance from sticking everything
into one queue, my best guess would be that the client is choking on the
interleaved packets? I.e. expending more CPU when it can't stick
subsequent packets into the same TCP flow?
-Toke
next prev parent reply other threads:[~2016-07-12 12:28 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-12 10:09 TCP performance regression in mac80211 triggered by the fq code Felix Fietkau
2016-07-12 12:13 ` Dave Taht
2016-07-12 13:21 ` Felix Fietkau
2016-07-12 14:02 ` Dave Taht
2016-07-13 7:57 ` Dave Taht
2016-07-13 8:53 ` Felix Fietkau
2016-07-13 9:13 ` Dave Taht
2016-07-19 13:10 ` Michal Kazior
2016-07-12 12:28 ` Toke Høiland-Jørgensen [this message]
2016-07-12 12:44 ` Dave Taht
2016-07-12 12:57 ` Toke Høiland-Jørgensen
2016-07-12 13:03 ` Dave Taht
2016-07-12 13:22 ` Felix Fietkau
2016-07-12 13:23 ` Felix Fietkau
2016-07-18 21:49 ` Toke Høiland-Jørgensen
2016-07-18 22:02 ` Dave Taht
2016-07-19 13:13 ` Michal Kazior
2016-07-19 14:32 ` Felix Fietkau
2016-07-20 14:45 ` Toke Høiland-Jørgensen
2016-07-20 15:24 ` Toke Høiland-Jørgensen
2016-07-25 5:15 ` Michal Kazior
2016-07-27 17:31 ` Toke Høiland-Jørgensen
2016-07-22 10:51 ` Toke Høiland-Jørgensen
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=87shvfujl4.fsf@toke.dk \
--to=toke@toke.dk \
--cc=linux-wireless@vger.kernel.org \
--cc=michal.kazior@tieto.com \
--cc=nbd@nbd.name \
/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).