[vortex] QoS Linux Support /DPD1 Format
Bogdan Costescu
bogdan.costescu@iwr.uni-heidelberg.de
Tue Dec 4 09:03:01 2001
On Mon, 3 Dec 2001, Markus Fraedrich wrote:
> Due to an project I want to build up two different raw ethernet queues.
> One for normal traffic data and one for prioritized data. The prioritized
> queue should have a differnet MAC access, we have a simple implementation to
> realize this at the moment.
What do you mean by "differnet MAC access" ?
You would probably need to give us some more info to really understand
your needs. Please read below for some thoughts.
> Now i try to figure out if it is usefull to implement the DPD Type 1 for
> scheduling or to use the QoS support of the Linux Kernel to handle this.
>From the doc file that I have, it looks like the sort of scheduling that
the 3Com cards support is not useful for all applications. In order for
the high priority packet to be inserted at the top of the queue, you have
to set the scheduling timer, meaning that the top packet is to be delayed
until the counter is exceeded. If one or more urgent packet(s) need(s) to
be sent within this period, it/they can be sent immediately, however this
also means that if no urgent packets arrive within this period, the whole
"on hold" time is wasted. In other words, you add a guaranteed latency for
each packet in the normal queue.
This solution is probably good for sending in the normal queue constant
rate content (audio/video streams, for example) while allowing control
data to be sent as fast as possible.
Another solution would not involve scheduling at all: as soon as you queue
your first urgent packet, you stop the processing of the normal queue and
point the DMA engine to the top of the urgent queue; then, in the
interrupt routine, when you dequeue the last queued urgent packet, you
set the DMA engine back to the top of the normal queue. This was there is
no latency added for normal traffic.
In both cases, you still need to take care not to process too many packets
in the urgent queue if you want to have a guaranteed delivery time for the
normal queue. The scheduling doesn't take care of this - the scheduled
packet is transmitted when the time stamp that it has is bigger than the
counter; there is however no way to say "stop processing the urgent queue
because I want a packet from the normal queue to go through now".
--
Bogdan Costescu
IWR - Interdisziplinaeres Zentrum fuer Wissenschaftliches Rechnen
Universitaet Heidelberg, INF 368, D-69120 Heidelberg, GERMANY
Telephone: +49 6221 54 8869, Telefax: +49 6221 54 8868
E-mail: Bogdan.Costescu@IWR.Uni-Heidelberg.De