Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: Dave Taht <dave.taht@gmail.com>
To: cake@lists.bufferbloat.net,
	Stephen Hemminger <stephen@networkplumber.org>
Subject: [Cake] upstreaming cake in 2017?
Date: Thu, 22 Dec 2016 11:43:56 -0800	[thread overview]
Message-ID: <CAA93jw6FvaX6EcXYnahp0jFUPxrnev_vnvzFnOJf=uytkKNu=Q@mail.gmail.com> (raw)

I think most of the reasons why cake could not be upstreamed are now
on their way towards being resolved, and after lede ships, I can't
think of any left to stop an
upstreaming push.

Some reasons for not upstreaming were:

* Because the algorithms weren't stable enough
* Because it wasn't feature complete until last month (denatting,
triple-isolate, and a 3 tier sqm)
* Because it had to work on embedded products going back to 3.12 or so
* Because I was busy with make-wifi-fast - which we got upstream as
soon as humanly possible.
* Because it was gated on having the large tester base we have with
lede (4.4 based)
* Because it rather abuses the tc statistics tool to generate tons of stats
* Because DSCP markings remain in flux at the ietf
* We ignore the packet priority fields entirely
* We don't know what diffserv models and ratios truly make sense

Anyone got more reasons not to upstream? Any more desirable features?

In looking over the sources today I see a couple issues:

* usage of  // comments and overlong lines
* could just use constants for the diffserv lookup tables (I just pushed the
   revised gen_cake_const.c file for the sqm mode, but didn't rip out the
   relevant code in sch_cake). I note that several of my boxes have 64
hw queues now
* I would rather like to retire "precedence" entirely
* cake cannot shape above 40Gbit (32 bit setting). Someday +40Gbit is possible
* we could split gso segments at quantum rather than always
* could use some profiling on x86, arm, and mips arches
* Need long RTT tests and stuff that abuses cobalt features
* Are we convinced the atm and overhead compensators are correct?
* ipv6 nat?
* ipsec recognition and prioritization?
* I liked deprioritizing ping in sqm-scripts

Hardware mq is bugging me - a single queued version of cake on the
root qdisc has much lower latency than a bql'd mq with cake on each
queue and *almost* the same throughput.

-- 
Dave Täht
Let's go make home routers and wifi faster! With better software!
http://blog.cerowrt.org

             reply	other threads:[~2016-12-22 19:43 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-22 19:43 Dave Taht [this message]
2016-12-22 20:02 ` Sebastian Moeller
2016-12-23  1:43   ` Stephen Hemminger
2016-12-23  3:44     ` Jonathan Morton
2016-12-23  8:42       ` Sebastian Moeller
2016-12-23  9:53         ` Jonathan Morton
2016-12-23 12:40           ` Sebastian Moeller
2016-12-23 14:06             ` Jonathan Morton
2016-12-23 16:24               ` Sebastian Moeller
2016-12-23 17:01                 ` Dave Taht
2016-12-24 15:55           ` Benjamin Cronce
2016-12-24 17:22             ` Jonathan Morton
2016-12-24 21:15               ` Benjamin Cronce
2016-12-30  7:42 ` Y

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='CAA93jw6FvaX6EcXYnahp0jFUPxrnev_vnvzFnOJf=uytkKNu=Q@mail.gmail.com' \
    --to=dave.taht@gmail.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=stephen@networkplumber.org \
    /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