[Cake] [PATCH 2/3] Add Common Applications Kept Enhanced (sch_cake) qdisc

Toke Høiland-Jørgensen 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
>> it.

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
docsis support"

>> * 8 way set associative queuing to reduce flow collisions to a
>>minimum.

8-way set-associative hashing

>> * A reasonable interpretation of various diffserv latency/loss
>>tradeoffs.

Heh. Not sure the word 'reasonable' can reasonably be applied to
diffserv ;)

>> * Support for washing diffserv for entering and exiting traffic.

The term 'washing' is also internal; explain it? ("washing (zeroing)
diffserv markings")

>> * 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.

s/easier/simpler/

>> 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? :)


-Toke


More information about the Cake mailing list