Subject: Re: [PATCH] net_sched: restore "mpu xxx" handling

From: Kirill Tkhai <[email-masked]>
Date: Wed, 29 Jul 2015 17:39:47 +0300

On 29.07.2015 16:04, Eric Dumazet wrote:
> On Wed, 2015-07-29 at 14:24 +0300, Kirill Tkhai wrote:
>> commit 56b765b79 ("htb: improved accuracy at high rates")
>> broke the "mpu xxx" handling.
>>
>> This patch restores the "mpu xxx" handling for htb:
>>
>> # tc class add dev eth0 classid 1:2 parent 1: htb rate 1mbit mpu 0
>> # ping -f -c 1000 10.30.22.52
>> rtt min/avg/max/mdev = 0.156/1.881/2.454/0.175 ms, ipg/ewma 1.908/1.925 ms
>>
>> # tc class change dev eth0 classid 1:2 parent 1: htb rate 1mbit mpu 1000
>> # ping -f -c 1000 10.30.22.52
>> rtt min/avg/max/mdev = 15.352/22.229/38.646/2.212 ms, pipe 3, ipg/ewma 15.999/22.609 ms
> 
> Note this mpu option was completely broken a long time ago with GSO /
> TSO anyway.
> 
> Note sure we really want it in this state ?
> 
> What is your use case ?

It's a way to limit a number of small packets sent from inside container
(virtual enviroment).

Its ethernet card is virtual and it's possible to control the things like TSO,
and to turn it off.

We use that in 2.6.32. Now I'm working with 3.10 and found, that the interface
has been changed. The patch is similar the functionality, which we had before
commit 56b765b79.

Are there another alternatives?

> In any case, correct fix would be in psched_l2t_ns(), otherwise you fix
> htb but not the other qdisc (tbf for that matter)

Sure, I'm agree.