ipprecedence
Petri Helenius
pete at he.iki.fi
Sun Jul 6 07:59:26 PDT 2003
Eugene Grosbein wrote:
>Luigi Rizzo wrote:
>
>
>
>>
>>How could the scheduler decide when to drain the queue ?
>>
>>
>
>It should move packets from zero-bw WFQ pipe the interface FIFO
>as soon as possible but should consider weights
>(100 packets from one queue then 1 from another and so on).
>
>
>
That would not be right because packets that need priority
might arrive later than you move non-priority packets into
the interface FIFO.
The "right" way to do this is like Luigi mentioned, you
have a rather short (a few packets, depending on interface/pipe
bandwidth) hardware queue and then fill the hardware queue
from your scheduling algorithm. If you're lucky enough to
have more than one hardware queues, then it becomes an
issue of doing the same thing but you can stuff the "bulk" data
into the low-priority queue with larger hardware window.
Any decent piece of hardware has at least 256 if not 1024 or 4096
transmit and receive descriptors, which is quite a long queue even at
100Mbps.
Pete
More information about the freebsd-net
mailing list