lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20061214224952.GB4329@austin.ibm.com>
Date:	Thu, 14 Dec 2006 16:49:52 -0600
From:	linas@...tin.ibm.com (Linas Vepstas)
To:	akepner@....com, Ishizaki Kou <kou.ishizaki@...hiba.co.jp>
Cc:	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	James K Lewis <jklewis@...ibm.com>,
	Arnd Bergmann <arnd@...db.de>,
	"cbe-oss-dev@...abs.org" <cbe-oss-dev@...abs.org>,
	cbe-oss-dev-bounces+jklewis=us.ibm.com@...abs.org,
	Christoph Hellwig <hch@....de>, netdev@...r.kernel.org
Subject: Re: NAPI wait before enabling irq's [was Re: [Cbe-oss-dev] Spider DMA wrongness]

On Thu, Dec 14, 2006 at 12:51:14PM -0800, akepner@....com wrote:
> On Thu, 14 Dec 2006, Linas Vepstas wrote:
> 
> >On Wed, Nov 08, 2006 at 07:38:12AM +1100, Benjamin Herrenschmidt wrote:
> >>
> >>What about Linas patches to do interrupt mitigation with NAPI polling ?
> >>That didn't end up working ?
> >
> >It seems to be "working as designed", which is different than "working
> >as naively expected".
> >
> >For large packets:
> >-- a packet comes in
> >-- rx interrupt generated
> >-- rx interrupts turned off
> >-- tcp poll function runs, receives packet
> >-- completes all work before next packet has arrived,
> >  so interupts are turned back on.
> >-- go to start
> >
> >This results in a high number of interrupts, and a high cpu usage.
> >We were able to prove that napi works by stalling in the poll function
> >just long enough to allow the next packet to arrive.  In this case,
> >napi works great, and number of irqs is vastly reduced.
> >....
> 
> This sounds awfully familiar. We went through the same
> with the tg3 driver on Altix. In that case we succeeded
> getting interrupt coalescence added to the driver, which
> ended up working pretty well for us. See the thread
> beginning with:
> 
> http://oss.sgi.com/archives/netdev/2005-05/msg00497.html
> 
> if you're interested.

I'm interested. The tg3 seems to have "hardware coalescing",
which, from what I can tell, is a way of delaying an RX
interrupt for some number of microseconds?  I assume there's 
nothing more to it than that?

The spider has some suggestively named registers and functions,
hinting that it can similarly delay an RX interupt, but the 
docs are opaque and mysteriously worded, so I cannot really tell.

Perhaps Ishizaki Kou can clue us in? 

> As for the "stalling NAPI" idea, Jamal did a bit of work
> with that idea and wrote it up in:
> 
> www.kernel.org/pub/linux/kernel/people/hadi/docs/UKUUG2005.pdf

Reading now ... 

--linas
-
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ