[Bloat] [Bug 1436945] Re: devel: consider fq_codel as the default qdisc for networking

Jonathan Morton chromatix99 at gmail.com
Wed Jun 6 09:04:59 EDT 2018


>>> The rationale for that decision still is valid, at low bandwidth every opportunity to send a packet matters…
>> 
>> Yes, which is why the DRR++ algorithm is used to carefully choose which flow to send a packet from.
> 
> Well, but look at it that way, the longer the traversal path after the cake instance the higher the probability that the packet gets dropped by a later hop.

That's only true in case Cake is not at the bottleneck, in which case it will only have a transient queue and AQM will disengage anyway.  (This assumes you're using an ack-clocked protocol, which TCP is.)

>>> …and every packet being transferred will increase the queued packets delay by its serialization delay.
>> 
>> This is trivially true, but has no effect whatsoever on inter-flow induced latency, only intra-flow delay, which is already managed adequately well by an ECN-aware sender.
> 
> I am not sure that I am getting your point…

Evidently.  You've been following Cake development for how long, now?  This is basic stuff.

> …at 0.5Mbps every full-MTU packet will hog the line foe 20+ milliseconds, so all other flows will incur at least that 20+ ms additional latency, this is independent of inter- or intra-flow perspective, no?.

At the point where the AQM drop decision is made, Cake (and fq_codel) has already decided which flow to service. On a bulk flow, most packets are the same size (a full MTU), and even if the packet delivered is the last one presently in the queue, probably another one will arrive by the time it is next serviced - so the effect of the *flow's* presence remains even into the foreseeable future.

So there is no effect on other flows' latency, only subsequent packets in the same flow - and the flow is always hurt by dropping packets, rather than marking them.

 - Jonathan Morton



More information about the Bloat mailing list