[Codel] sprout

Eric Dumazet eric.dumazet at gmail.com
Wed Jul 10 19:07:18 EDT 2013


On Wed, 2013-07-10 at 15:44 -0700, Dave Taht wrote:

> I'd made a suggestion elsewhere that TSQ migrate down in size from 128k to
> lower as the number of active flows increased. Something like
> tcp_limit_output_size = max((2*BQL's limit)/(number of flows),mtu)
> 
> but I realize now that tcp has no idea what interface it's going out
> at any given
> time... still I'm on a quest to minimize latency and let offloads still work..

At Google we tried to plug something at the time TX completion happens
(tcp_wfree())

The more time skb are waiting on qdisc, the less tcp_limit_output_size
should be for the TCP flow.

But tcp_limit_output_size had to be per socket tunable instead of
global. Experiments showed no real improvement over existing TCP
behavior.

The tcp_tso_should_defer() was kind of fixed lately [1] anyway, and we
plan to upstream another patch in this function to better preserve ACK
clocking.

[1] :
http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=f4541d60a449afd40448b06496dcd510f505928e






More information about the Codel mailing list