[Cake] tossing acks into the background queue

Toke Høiland-Jørgensen toke at toke.dk
Tue Nov 23 05:39:44 EST 2021


Sebastian Moeller <moeller0 at gmx.de> writes:

> Hi Dave,
>
> On 23 November 2021 08:32:06 CET, Dave Taht <dave.taht at gmail.com> wrote:
>>The context of my question is basically this:
>>
>>Is cake baked? Is it done?
>
> How about per MAC address fairness (useful for ISPs and to treat
> IPv4/6 equally)?
>
> How about configurable number of queues (again helpful for ISPs)?

FWIW I don't think CAKE is the right thing for ISPs, except in a
deployment where there's a single CAKE instance per customer. For
anything else (i.e., a single shaper that handles multiple customers),
you really need hierarchical policy enforcement like in a traditional
HTB configuration. And retrofitting this on top of CAKE is going to
conflict with the existing functionality, so it probably has to be a
separate qdisc anyway.

> IMHO cake works pretty well, with the biggest issue being its CPU
> demands. As far as I understand however, that is caused by the shaper
> component and there low latency and throughput are in direct
> competition, if we want to lower the CPU latency demands we need to
> allow for bigger buffers that keep the link busy even if cake itself
> is not scheduled as precisely as we would desire or as e.g. BQL
> requires.

Yes, as link speed increases, batching needs to increase to keep up.
This does not *have* to impact latency, as the faster link should keep
the granularity constant in the time domain. So experimenting with doing
this dynamically in CAKE might be worthwhile, but probably not trivial.

And either way, CAKE is still going to be limited by being single core
only, and fixing that requires some serious surgery that I seem to
recall looking into and giving up at some point :(

-Toke


More information about the Cake mailing list