> On 18 Apr, 2018, at 2:25 pm, Toke Høiland-Jørgensen <[email protected]> wrote: > > So if there is one active bulk flow, we allow each flow to queue four > packets. But if there are ten active bulk flows, we allow *each* flow to > queue *40* packets.
No - because the drain rate per flow scales inversely with the number of flows, we have to wait for 40 MTUs' serialisation delay to get 4 packets out of *each* flow. Without that, we can end up with very high drop rates which, in ingress mode, don't actually improve congestion on the bottleneck link because TCP can't reduce its window below 4 MTUs, and it's having to retransmit all the lost packets as well. That loses us a lot of goodput for no good reason. So I do accept the increase in intra-flow latency when the flow count grows beyond the link's capacity to cope. It helps us keep the inter-flow induced latency low while maintaining bulk goodput, which is more important. - Jonathan Morton _______________________________________________ Cake mailing list [email protected] https://lists.bufferbloat.net/listinfo/cake
