Thread (209 messages) 209 messages, 10 authors, 2008-09-24

Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race

From: Jarek Poplawski <hidden>
Date: 2008-09-24 07:15:28

On Tue, Sep 23, 2008 at 02:23:33PM +0800, Herbert Xu wrote:
On Sun, Sep 21, 2008 at 12:03:01AM -0700, David Miller wrote:
quoted
This works if you want it at the root, but what if you only wanted to
prio at a leaf?  I think that case has value too.
Good question :)

I think what we should do is to pass some token that rerepsents
the TX queue that's being run down into the dequeue function.

Then each qdisc can decide which child to recursively dequeue
based on that token (or ignore it for non-prio qdiscs such as
HTB).
I don't think HTB could be considered as a non-prio qdisc.
When the token reaches the leaf then we have two cases:
1) A prio-like qdisc that has separate queues based on priorities.
In this case we dequeue the respective queue based on the token.
As matter of fact I can't figure out this idea of a prio at the root
or leaf either. Could you explain in which point do you expect the
gain? If it's about the locks, what kind of synchronization would be
used to assure packets from lower prio queues (or qdiscs?)  aren't
sent to free tx queues, while higher prio wait on stopped ones?

Thanks,
Jarek P.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help