Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
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

             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