[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