From: Dave Taht <dave.taht@gmail.com>
To: Cake List <cake@lists.bufferbloat.net>
Subject: [Cake] improving inbound shaping
Date: Thu, 2 Mar 2017 22:54:23 -0800 [thread overview]
Message-ID: <CAA93jw4K91FM_t-rh=djqMMymwwKBapxszJLyQ=RcBRR6hi9HA@mail.gmail.com> (raw)
As that's the highest cpu user there is, (and the biggest problem I
have, on comcast, there's 2 sec of latency at 100mbit without shaping:
http://www.taht.net/~d/comcast2/asmiserabledlasever.png
(more flent data there).
It's always been a daydream to somehow bypass the existing tc_mirred
facility we use and be able to express:
tc qdisc add dev eth0 ingress cake bandwidth 990mbit
and have that "just work". My hope would be that that would halve
the packet copies needed (don't know if that's the case in the first place)...
When I last looked at it (2+ years ago), that portion of linux was a
hairball that extended back to the late 90s, and I gave up.
There were a few commits there recently - adding hardware offload
support for the flower classifier and this one:
commit d2788d34885d4ce5ba17a8996fd95d28942e574e
Author: Daniel Borkmann <daniel@iogearbox.net>
Date: Sat May 9 22:51:32 2015 +0200
net: sched: further simplify handle_ing
Ingress qdisc has no other purpose than calling into tc_classify()
that executes attached classifier(s) and action(s).
It has a 1:1 relationship to dev->ingress_queue. After having commit
087c1a601ad7 ("net: sched: run ingress qdisc without locks") removed
the central ingress lock, one major contention point is gone.
The extra indirection layers however, are not necessary for calling
into ingress qdisc. pktgen calling locally into netif_receive_skb()
with a dummy u32, single CPU result on a Supermicro X10SLM-F, Xeon
E3-1240: before ~21,1 Mpps, after patch ~22,9 Mpps.
--
Dave Täht
Let's go make home routers and wifi faster! With better software!
http://blog.cerowrt.org
next reply other threads:[~2017-03-03 6:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-03 6:54 Dave Taht [this message]
2017-03-03 9:22 ` Sebastian Moeller
2017-03-03 14:23 ` Dave Taht
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/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAA93jw4K91FM_t-rh=djqMMymwwKBapxszJLyQ=RcBRR6hi9HA@mail.gmail.com' \
--to=dave.taht@gmail.com \
--cc=cake@lists.bufferbloat.net \
/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