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

From: Stephen Hemminger <[email-masked]>
Date: Fri, 4 May 2007 13:01:10 -0700

On Thu, 3 May 2007 14:03:07 -0700
"Waskiewicz Jr, Peter P" <[email-masked]> wrote:

> > 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.
> 
> > 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 <[email-masked]>