All of lore.kernel.org
 help / color / mirror / Atom feed
* Au1000 Ethernet Driver using NAPI
@ 2004-12-08 20:31 Charles Eidsness
  2004-12-08 23:34 ` Pete Popov
  0 siblings, 1 reply; 3+ messages in thread
From: Charles Eidsness @ 2004-12-08 20:31 UTC (permalink / raw)
  To: linux-mips

Hi All,

I was having a problem running a streaming audio application on my 
Au1000 processor when the Ethernet port was being bombarded with 
packets. All of the interrupt servicing was hogging my precious 
processing power and there was nothing left for my app. There's a new 
method for writing Ethernet drivers called NAPI which resolves this 
issue (somewhat). I converted the au1000's Ethernet driver to use this 
method. If you're interested you can find a patch that applys my changes 
to the most recent kernel here:

http://members.rogers.com/charles.eidsness/linux-au1000_eth.napi.patch

Cheers,
Charles

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Au1000 Ethernet Driver using NAPI
  2004-12-08 20:31 Charles Eidsness
@ 2004-12-08 23:34 ` Pete Popov
  0 siblings, 0 replies; 3+ messages in thread
From: Pete Popov @ 2004-12-08 23:34 UTC (permalink / raw)
  To: charles.eidsness; +Cc: linux-mips


Very cool, thanks. Is the patch for 2.4 or 2.6?

Pete

Charles Eidsness wrote:
> Hi All,
> 
> I was having a problem running a streaming audio application on my 
> Au1000 processor when the Ethernet port was being bombarded with 
> packets. All of the interrupt servicing was hogging my precious 
> processing power and there was nothing left for my app. There's a new 
> method for writing Ethernet drivers called NAPI which resolves this 
> issue (somewhat). I converted the au1000's Ethernet driver to use this 
> method. If you're interested you can find a patch that applys my changes 
> to the most recent kernel here:
> 
> http://members.rogers.com/charles.eidsness/linux-au1000_eth.napi.patch
> 
> Cheers,
> Charles
> 
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Au1000 Ethernet Driver using NAPI
@ 2004-12-09  1:05 Charles Eidsness
  0 siblings, 0 replies; 3+ messages in thread
From: Charles Eidsness @ 2004-12-09  1:05 UTC (permalink / raw)
  To: ppopov; +Cc: linux-mips

Pete Popov wrote:
 >
 >Very cool, thanks. Is the patch for 2.4 or 2.6?
 >
 >Pete

Hi Pete,

It's for 2.6, I'm not sure if it will work on 2.4.

There are a couple of possible issues with this method that I probably 
should have mentioned in my first email. Since the Au1000 shares an 
interrupt for the TX and RX streams I had to lump the two together and 
as a result there may be an increase in TX latency. Also, the MAC's DMA 
can only queue up a maximum of 4 packets at a time so depending on how 
long the processor spends clearing out the queue there may be some 
buffer overruns. I've experienced neither of these issues but my testing 
so far has been pretty application specific.

Cheers,
Charles

Charles Eidsness wrote:
 > Hi All,
 >
 > I was having a problem running a streaming audio application on my
 > Au1000 processor when the Ethernet port was being bombarded with
 > packets. All of the interrupt servicing was hogging my precious
 > processing power and there was nothing left for my app. There's a new
 > method for writing Ethernet drivers called NAPI which resolves this
 > issue (somewhat). I converted the au1000's Ethernet driver to use
this
 > method. If you're interested you can find a patch that applys my
changes
 > to the most recent kernel here:
 >
 >
http://members.rogers.com/charles.eidsness/linux-au1000_eth.napi.patch
 >
 > Cheers,
 > Charles
 >
 >

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-12-09  1:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-09  1:05 Au1000 Ethernet Driver using NAPI Charles Eidsness
  -- strict thread matches above, loose matches on Subject: below --
2004-12-08 20:31 Charles Eidsness
2004-12-08 23:34 ` Pete Popov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.