[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20081124.144603.153139690.davem@davemloft.net>
Date: Mon, 24 Nov 2008 14:46:03 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: lethal@...ux-sh.org
Cc: steve.glendinning@...c.com, netdev@...r.kernel.org,
linux-sh@...r.kernel.org, ian.saturley@...c.com
Subject: Re: [RFC PATCH 1/2] smsc911x: add support for sh3 RX DMA
From: Paul Mundt <lethal@...ux-sh.org>
Date: Mon, 24 Nov 2008 12:42:37 +0900
> On Sun, Nov 23, 2008 at 04:04:33PM +0000, Steve Glendinning wrote:
> > I've been working on adding DMA support to the smsc911x driver. As this
> > family of devices is non-pci, DMA transfers must be initiated and
> > controlled by the host CPU. Unfortunately this makes some of the code
> > necessarily platform-specific.
> >
> > This patch adds RX DMA support for the sh architecture. Tested on
> > SH7709S (sh3), where it gives a small (~10%) iperf tcp throughput
> > increase. DMA or PIO is selected at compile-time.
> >
> > My first attempt stopped NAPI polling during a DMA transfer, then used
> > DMA completion interrupts to pass the packet up and re-enable polling.
> > Obviously this defeats the interrupt-mitigation of NAPI, and on my test
> > platform actually *reduced* performance!
> >
> > This patch leaves NAPI polling enabled, so a later poll completes the
> > transfer. I'm concerned this is essentially busy-waiting on the
> > transfer, but it does show a small performance gain. Is this a good or
> > bad idea?
> >
> > I'd be interested to hear if anyone has advice on how to make this
> > patch more generic. There's definitely been interest from arm pxa
> > users in adding DMA, and some of this code must be re-usable for this.
> >
> > Signed-off-by: Steve Glendinning <steve.glendinning@...c.com>
>
> The intent was to move everything over to the dmaengine framework and
> have drivers (especially generic ones) opt for using that instead. This
> hasn't happened yet, but it doesn't seem like there is much point in
> adding hacks to the smsc911x driver at present given the overhead
> involved in the interrupt handling. While this is something that can
> easily be improved, I would rather put more effort in to getting things
> moved over to the generic frameworks now that they exist, and optimize
> later.
I'll therefore drop these two patches for now.
--
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