[Cake] [PATCH 2/3] Add Common Applications Kept Enhanced (sch_cake) qdisc
toke at toke.dk
Wed Nov 22 02:46:11 EST 2017
Dave Taht <dave at taht.net> writes:
> And now I can comment.
> I've added this version to a for_upstream branch in the hope that future
> commits can be kept in sync.
> Is there anything more that should be added to the commit message?
> Should I be less snarky?
>> while presenting an API simple enough that even an ISP can configure
I chuckled at this part at least. I'd say keep it ;)
>> Example of use on an ISP uplink:
>> tc qdisc add dev eth0 cake bandwidth 20Mbit nat docsis ack-filter
>> Cake can also be used in unlimited mode to drive packets at the speed
>> of the underlying link.
>> Cake is filled with:
>> * A hybrid Codel/Blue AQM algorithm, “Cobalt”, tied to an FQ_Codel
>> derived Flow Queuing system, which autoconfigures based on the bandwidth.
>> * A unique "triple-isolate" mode (the default) which balances per-flow
>> and per-host flow FQ even through NAT.
>> * An integral deficit based shaper with extensive dsl and docsis support
>> that can also be used in unlimited mode.
"dsl and docsis link layer compensation support"? Not sure someone
who hasn't drunk the koolaid understands how a shaper can have "dsl and
>> * 8 way set associative queuing to reduce flow collisions to a
8-way set-associative hashing
>> * A reasonable interpretation of various diffserv latency/loss
Heh. Not sure the word 'reasonable' can reasonably be applied to
>> * Support for washing diffserv for entering and exiting traffic.
The term 'washing' is also internal; explain it? ("washing (zeroing)
>> * Perfect support for interacting with Docsis 3.0 shapers.
What does that mean?
>> * Extensive support for DSL framing types.
Aren't you just repeating yourself from above now?
>> * (New) Support for ack filtering.
>> - 20 % better throughput at a 16x1 down/up ratio on the rrul test.
>From the PoV of an upstream submission it's all new, isn't it? Also,
this is the only place where you cite benchmark results.
>> * Extensive statistics for measuring, loss, ecn markings, latency variation.
>> There are some features still considered experimental, notably the
>> ingress_autorate bandwidth estimator and cobalt itself.
>> Various versions shipping have been available as an out of tree build for
>> kernel versions going back to 3.10, as the embedded router world has been
>> running a few years behind mainline Linux. A stable version has been
>> generally available on lede-17.01 and later.
>> sch_cake replaces a combination of iptables, tc filter, htb and fq_codel in
>> the sqm-scripts, with sane defaults and vastly easier configuration.
>> Cake's principal author is Jonathan Morton, with contributions from
>> Kevin Darbyshire-Bryant, Toke Høiland-Jørgensen, Sebastian Moeller,
>> Ryan Mounce, Dean Scarff, Guido Sarducci, Nils Andreas Svee, Dave Täht, and
>> Loganaden Velvindron.
But no Signed-off-by? :)
More information about the Cake