Subject: Re: [PATCH] loop unrolling in net/sched/sch_generic.c

From: Eric Dumazet <[email-masked]>
Date: Wed, 06 Jul 2005 03:04:36 +0200

Thomas Graf a écrit :

>>Maybe we can rewrite the whole thing without branches, examining prio from 
>>PFIFO_FAST_BANDS-1 down to 0, at least for modern cpu with conditional mov 
>>(cmov)
> 
> 
> This would break the whole thing, the qdisc is supposed to try and
> dequeue from the highest priority queue (prio=0) first.
> 
> 

I still dequeue a packet from the highest priority queue.

But nothing prevents us to look the three queues in the reverse order, if you can avoid the conditional branches.

No memory penalty, since most of time we were looking at the three queues anyway, and the 3 sk_buff_head are in the same cache line.