Re: [PATCH] sch_sfq: revert dont put new flow at the end of flows
From: Dave Taht <hidden>
Date: 2012-03-14 06:07:58
On Wed, Mar 14, 2012 at 5:02 AM, Eric Dumazet [off-list ref] wrote:
Le mercredi 14 mars 2012 à 04:52 +0000, Dave Taht a écrit :quoted
I had some hope for a semi-random alternating queueI spent some time implementing two queues, one for new flows, one for old flows. As soon as a new flow uses its initial quantum, its moved at the tail of 'old flows queue'. But I always could find a way to starve some flows, even adding some kind of persistence. Right now, as soon as we empty one flow, we forget its history. Next packet coming will create a "new flow" with a full quantum credit, even if we nearly consume all flow quantum in the last micro second. Thats definitely not a trivial problem.
I've expended brain cells on this too (nobody has any experience with head drop, aqm managed queues!), and was unable to come up with a way of dealing with the corner case of too many new streams inside of sfq's current architecture. But I gotta say that the overall effect of this on optimizing sparse streams (dns,dhcp,tcp syn,ra,other routing packets,gaming packets,etc) was pretty freaking amazing, and it nearly eliminated any need for classification and prioritization, BE, and BK were enough. Ah, well. The other stuff in 3.3 is really good, too. Sometimes you win, sometimes you lose, sometimes... it rains.
-- Dave Täht SKYPE: davetaht US Tel: 1-239-829-5608 http://www.bufferbloat.net