Thread (60 messages) 60 messages, 9 authors, 2007-07-08

RE: [PATCH 3/3] NET: [SCHED] Qdisc changes and sch_rr added for multiqueue

From: Waskiewicz Jr, Peter P <hidden>
Date: 2007-06-28 19:21:31

Absolutely not. First of all, its perfectly valid to use 
non-multiqueue qdiscs on multiqueue devices. Secondly, its 
only the root qdisc that has to know about multiqueue since 
that one controls the child qdiscs.

Think about it, it makes absolutely no sense to have the 
child qdisc even know about multiqueue. Changing my example 
to have a multiqueue qdisc as child:

root qdisc: 2 band prio multiqueue
child qdisc of band 0: 2 band prio multiqueue

When the root qdisc decides to dequeue band0, it checks 
whether subqueue 0 is active and dequeues the child qdisc. If 
the child qdisc is indeed another multiqueue qdisc as you 
suggest, if might decide to dequeue its own band 1 and checks 
that subqueue state. So where should the packet finally end 
up? And what if one of both subqueues is inactive?

The only reasonable thing it can do is not care about 
multiqueue and just dequeue as usual. In fact I think it 
should be an error to configure multiqueue on a non-root qdisc.
Ack.  This is a thought process that trips me up from time to time...I
see child qdisc, and think that's the last qdisc to dequeue and send to
the device, not the first one to dequeue.  So please disregard my
comments before; I totally agree with you.  Great catch here; I really
like the prio_classify() cleanup.

As always, many thanks for your feedback and help Patrick.

-PJ
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help