Subject: Re: [PATCH v2] pkt_sched: sch_drr: Fix drr_dequeue() loop

From: Jarek Poplawski <[email-masked]>
Date: Mon, 24 Nov 2008 12:33:49 +0000

On Mon, Nov 24, 2008 at 01:15:07PM +0100, Patrick McHardy wrote:
> Jarek Poplawski wrote:
>> (Changelog fixed only)
>>
>> pkt_sched: sch_drr: Fix drr_dequeue() loop
>>
>> If all child qdiscs of sch_drr are non-work-conserving (e.g. sch_tbf)
>> drr_dequeue() will busy-loop waiting for skbs instead of leaving the
>> job for a watchdog. Checking for list_empty() in each loop isn't
>> necessary either, because this can never be true except the first time.
>
> Thanks for the report. I don't like to overcomplicate treatment
> of this broken configuration though, so this patch simply returns
> NULL when the inner qdiscs is non-work-conserving.

Hmm... I don't agree with treating this as broken (IIRC Denys
Fedoryshchenko wrote about some case when he prefers TBF over HTB,
and with DRR this could be an interesting alternative), but of course
you are the author and I respect your decision.

Thanks,
Jarek P.