On Thu, Aug 30, 2012 at 6:40 PM, Eric Dumazet <eric.duma...@gmail.com> wrote: > On Thu, 2012-08-30 at 16:19 -0700, Dave Taht wrote: > >> In that case it will deliver 3 acks in a row from >> stream A, and then 3 acks in stream B, in the linux 3.5 version, and >> push the the 1500 byte packet from my example to the old flows queue - > > Nope, the 1500 byte packet will be sent as normal (we obviously cant > split a packet). If its the first packet (new flow), there wont be any > penalty. > >> instead of delivering A 1 ack, B 1 ack, push the C 1500 byte packet to >> the old flows queue, then deliver A,B,A,B,A,B, A, A, A etc (and note >> with more flows mixing gets better) as I just proposed. > > Try to change quantum, and it will just work out of the box.
I think, eric, that you missed this portion of the idea, and that I mis-commented it, and worse, overstated the effect of what I was trying to do while watching it crash... ...and seeing through the dust and clouds... off in the distance... the desirable behavior I'd been aiming for. ... in fq_codel_enqueue... flow->deficit = min(q->quantum, qdisc_pkt_len(skb)); // put only 1 packet into the new flow queue unless it's more than quantum (in which case it too will be kicked to old flows) -- Dave Täht http://www.bufferbloat.net/projects/cerowrt/wiki - "3.3.8-17 is out with fq_codel!" _______________________________________________ Codel mailing list Codel@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/codel