[Cake] making split_gso_threshold configurable

Sebastian Moeller moeller0 at gmx.de
Wed Jul 25 06:07:28 EDT 2018


Hi Toke,


> On Jul 25, 2018, at 12:02, Toke Høiland-Jørgensen <toke at toke.dk> wrote:
> 
> Dave Taht <dave.taht at gmail.com> writes:
> 
>> 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.
> 
> So I think that Eric's point was that the GSO logic itself should
> throttle back and not build so big packets when the link rate is lower.
> Might be worth it to check if this is actually the case, and if not to
> get GSO fixed rather than disabling it.
> 
> Also, are there actually any modems that will negotiate ethernet line
> rates less than a gigabit?

	Yes, there are XDSL Modem(routers) that only have fast-ethernet ports. Not sure how rare these are though.

Best Regards
	Sebastian


> 
>> 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;
>>        else
>>                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.
> 
> Getting pause frames to work properly in this setup kinda requires the
> buffering in the modem to be reasonable in the first place...
> 
>> 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.
> 
> I very much doubt that we can get upstream to accept split as the
> default. It may be possible to get it to be user tunable. I don't think
> we should deviate from upstream unless we absolutely have to (that was
> kinda the whole point of the upstreaming exercise), and I'm not
> convinced that this is a good enough reason...
> 
> -Toke
> _______________________________________________
> Cake mailing list
> Cake at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake



More information about the Cake mailing list