From: Patrick McHardy <[EMAIL PROTECTED]>
Date: Fri, 22 Jul 2005 04:59:30 +0200

> We have multiple queue states, one for each hardware TX queue.
> But instead of multiple qdiscs per device we add a "prio"-argument
> to the dequeue-function. The top-level qdisc is dequeued with the
> highest active priority and hands out a packet of this priority, or,
> if it doesn't support priorities, any packet. The priority of the
> dequeued packet is either passed as argument to hard_start_xmit or
> stored in skb->priority. This approach has a great advantage over
> multiple top-level qdiscs, we can use all the existing classification
> stuff, including SO_PRIORITY etc., and non-work-conserving qdiscs
> like HTB, HFSC, ... can still be used to enforce bandwidth limits.
> It should be possible to implement it in a way that causes only minimal
> overhead for devices not supporting multiple TX queues.
> 
> If everyone can agree to this approach I'll hack something up.

Sounds OK.  What happens if the top-level queue pulls out
a packet with a certain priority, and that priority's queue
in the device is stopped?  Will it look for lower-priority
packets and try to send those?  All of this kind of logic could
result in some ugly loops :)
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to