From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (netops-testserver-4-out.sgi.com [192.48.171.29]) by ozlabs.org (Postfix) with ESMTP id F0A65DDED3 for ; Sat, 25 Aug 2007 01:38:09 +1000 (EST) From: akepner@sgi.com Date: Fri, 24 Aug 2007 08:37:03 -0700 To: Jan-Bernd Themann Subject: Re: RFC: issues concerning the next NAPI interface Message-ID: <20070824153703.GN5592@sgi.com> References: <200708241559.17055.ossthema@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 In-Reply-To: <200708241559.17055.ossthema@de.ibm.com> Cc: Thomas Klein , Jan-Bernd Themann , netdev , linux-kernel , linux-ppc , Christoph Raisch , Marcus Eder , Stefan Roscher List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Fri, Aug 24, 2007 at 03:59:16PM +0200, Jan-Bernd Themann wrote: > ....... > 3) On modern systems the incoming packets are processed very fast. Especially >    on SMP systems when we use multiple queues we process only a few packets >    per napi poll cycle. So NAPI does not work very well here and the interrupt >    rate is still high. What we need would be some sort of timer polling mode >    which will schedule a device after a certain amount of time for high load >    situations. With high precision timers this could work well. Current >    usual timers are too slow. A finer granularity would be needed to keep the > latency down (and queue length moderate). > We found the same on ia64-sn systems with tg3 a couple of years ago. Using simple interrupt coalescing ("don't interrupt until you've received N packets or M usecs have elapsed") worked reasonably well in practice. If your h/w supports that (and I'd guess it does, since it's such a simple thing), you might try it. -- Arthur