[Codel] sprout
Dave Taht
dave.taht at gmail.com
Wed Jul 10 18:44:47 EDT 2013
On Wed, Jul 10, 2013 at 3:10 PM, Kathleen Nichols <nichols at pollere.com> wrote:
> Is that indeed what I think?
Heh. On another topic, at my stanford talk, you pointed at maxpacket
being a thing
you were a bit dubious about. After fiddling with the concept in
presence of offloads
(which bloat up maxpacket to the size of a tso packet (20k or more))
I'm more than a bit dubious about it and in my next build of ns2_codel
and nfq_codel
in linux I just capped it at a mtu in the codel_should_drop function:
if (unlikely(qdisc_pkt_len(skb) > stats->maxpacket &&
qdisc_pkt_len(skb) < 1514 ))
stats->maxpacket = qdisc_pkt_len(skb);
Perhaps in fq_codel the entire maxpacket idea can be junked?
The problem that I see is that codel switches out of a potential drop
state here and
at almost any workload maxpacket hits a TSO-like size, and at higher workloads
it's too high. I think eric is working on something that will let
overlarge packets just
work and begin to break them down into smaller packets at higher workloads?
Also
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..
--
Dave Täht
Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html
More information about the Codel
mailing list