On 04/25/2018 09:52 AM, Jonathan Morton wrote:
>> We can see here the high cost of forcing software GSO :/
>>
>> Really, this should be done only :
>> 1) If requested by the admin ( tc .... gso ....)
>>
>> 2) If packet size is above a threshold.
>>  The threshold could be set by the admin, and/or based on a fraction of the 
>> bandwidth parameter.
>>
>> I totally understand why you prefer to segment yourself for < 100 Mbit links.
>>
>> But this makes no sense on 10Gbit+
> 
> It is absolutely necessary, so far as I can see, to segment GSO superpackets 
> when overhead compensation is selected - as it very often should be, even on 
> pure Ethernet links.  Without that, the calculation of link occupancy time 
> will be wrong.  (The actual transmission time of an Ethernet frame is rather 
> more than just 14 bytes longer than the underlying IP packet.)

Just fix the overhead compensation computation in the code.

skb in a qdisc have everything you need.

qdisc_pkt_len_init() has initialized qdisc_skb_cb(skb)->pkt_len  with the exact 
bytes on the wire,
and you have gso_segs to perform any adjustement you need to do.

Do not kill GSO only because you do not want to deal with it.

> 
> Another reason to apply GSO segmentation is to achieve maximal smoothness of 
> flow isolation.  This should still be achievable within some tolerance at 
> high link rates, but calculating this tolerance is complicated by the 
> triple-isolate algorithm.
> 
> If there's a way to obtain the individual packet sizes without incurring the 
> full segmentation overhead, it may be worth considering (at high link rates 
> only).  I would want to leave it on by default, because some of Cake's 
> demonstrably superior latency performance depends on seeing the real packets, 
> not the aggregates, and the overhead only becomes significant above 100Mbps 
> on weak MIPS CPUs and 1Gbps on vaguely modern x86 stuff.
> 
>  - Jonathan Morton
> 

Again, these arguments are moot on 10Gbit+.

Lets build the future, do not pretend GSO/TSO is not part of it.

Thanks

_______________________________________________
Cake mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cake

Reply via email to