Subject: Re: [PATCH][NET_SCHED] sch_sfq: fix queue limiting while enqueuing

From: Patrick McHardy <[email-masked]>
Date: Mon, 28 Apr 2008 16:02:01 +0200

Jarek Poplawski wrote:
> On Sun, Apr 27, 2008 at 08:29:44PM +0200, Patrick McHardy wrote:
>> Jarek Poplawski wrote:
>>> [NET_SCHED] sch_sfq: fix queue limiting while enqueuing
>>>
>> Besides this *will* break for example my configuration, I use SFQ
>> as inner qdisc on virtual devices with either tx_queue_len == 0
>> or 3 in case of ppp.
> 
> OK, you are right: it would break some scripts... But IMHO this way
> of treating tx_queue_len isn't right: it can be changed after
> initialization too, and looks like perfect way to control the queue
> size globally. Anyway, current use of "limit" parameter in sfq warps
> its idea. Another possibility would be like this:
> 
> sch->q.qlen >= max_t(__u32, sch->dev->tx_queue_len, q->limit)
> 
> or removing this global sch->q.qlen check at all. Or maybe we need to
> add one more tc parameter for sfq?

I would go for a new parameter, tx_queue_len is not very well
suited in my opinion since its global for the entire device,
and most likely you don't want inner qdiscs to have the full
tx_queue_length as limit but something smaller.