Thread (40 messages) 40 messages, 9 authors, 2007-05-11

Re: [PATCH] IPROUTE: Modify tc for new PRIO multiqueue behavior

From: Stephen Hemminger <hidden>
Date: 2007-05-04 20:06:40

On Thu, 3 May 2007 14:03:07 -0700
"Waskiewicz Jr, Peter P" [off-list ref] wrote:
quoted
Lets come up with some terminology; lets call multiqueue what 
the qdiscs do; lets call what the NICs do multi-ring.
Note, i have thus far said you need to have both and they 
must be in sync.
I agree with the terminology.
quoted
This maybe _the_ main difference we have in opinion.
Like i said earlier, I used to hold the same thoughts you do.
And i think you should challenge my assertion that it doesnt 
matter if you have a single entry point; [my assumptions are 
back in what i called #b and #c].
Here is a paper that describes what exactly we're trying to do:
http://www.ieee802.org/3/ar/public/0503/wadekar_1_0503.pdf.  Basically
we need the ability to pause a queue independantly of another queue.
Because of this requirement, the kernel needs visibility into the driver
and to have knowledge of and provide control of each queue.  Please note
that the API I'm proposing is a generic representation of the Datacenter
Ethernet mentioned in the paper; I figured if we're putting in an
interface to support it, it should be generic so other technologies out
there could easily use it.
Just because they want to standardize, and put it in hardware doesn't
mean it is a good idea and Linux needs to support it!

Why is it better for hardware to make the "next packet to send" decision?
For wired ethernet, I can't see how adding the complexity of fixed number
of small queues is a gain. Better to just do the priority decision in software
and then queue it to the hardware. This seems like the old Token Ring
and MAP/TOP style crap crammed on top of Ethernet.


-- 
Stephen Hemminger [off-list ref]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help