[Cake] making split_gso_threshold configurable

Dave Taht dave.taht at gmail.com
Tue Jul 24 23:34:28 EDT 2018

I really wanted cake to always optimize for low latency. I wanted it to
"just work" at line rate on dsl, on 100mbit, even 10mbit ethernet, to work
against pause frames, etc, without configuration. I wanted to defeat
drivers like the mvneta that can do 64k of software GRO automagically.

Along the way to mainlining it, cake's behavior got changed, to scale
well to 50Gbit by allowing GSO above a 1gbit shaped rate, and *always
allowing GSO at line rate*.

        if (q->rate_bps && q->rate_bps <= CAKE_SPLIT_GSO_THRESHOLD)
                q->rate_flags |= CAKE_FLAG_SPLIT_GSO;
                q->rate_flags &= ~CAKE_FLAG_SPLIT_GSO;

I don't care about 50gbit. I'm delighted, even astonished, it does
50Gbit. I want it to do 1mbit with 13ms interpacket latency when hit
by an IW10 burst from somewhere else, not 130, with hardware pause
frames in use on the dsl modem or elsewhere.

so, I'd like to A) default to always split shaped or unshaped. And B)
expose the split threshold to be configured via userspace. This latter
option would give a tunable for those struggling a bit for cpu to play
with, also.

anyone disagree?


Dave Täht
CEO, TekLibre, LLC
Tel: 1-669-226-2619

More information about the Cake mailing list