[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070607090840.346f6a09@localhost.localdomain>
Date: Thu, 7 Jun 2007 09:08:40 -0700
From: Stephen Hemminger <shemminger@...ux-foundation.org>
To: David Miller <davem@...emloft.net>
Cc: hadi@...erus.ca, peter.p.waskiewicz.jr@...el.com, kaber@...sh.net,
netdev@...r.kernel.org, jeff@...zik.org, auke-jan.h.kok@...el.com
Subject: Re: [PATCH] NET: Multiqueue network device support.
On Wed, 06 Jun 2007 16:56:02 -0700 (PDT)
David Miller <davem@...emloft.net> wrote:
> From: jamal <hadi@...erus.ca>
> Date: Wed, 06 Jun 2007 19:35:46 -0400
>
> > There is no potential for parallelizing on transmit that i can think of.
> > Dave, please explain it slowly so i can understand it.
> >
> > There is huge potential for parallelizing on receive. But i am certainly
> > missing the value in the transmit.
>
> I gave an example in another response, you have N processes
> queueing up data for TCP or UDP or whatever in parallel on
> different cpus, all going out the same 10gbit device.
>
> All of them enter into ->hard_start_xmit(), and thus all of them try
> to take the same netdev->tx_lock
>
> If they have multiple TX queues, independantly programmable, that
> single lock is stupid.
>
> We could use per-queue TX locks for such hardware, but we can't
> support that currently.
There could be bad packet reordering with this (like some SMP routers used to do).
--
Stephen Hemminger <shemminger@...ux-foundation.org>
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists