netdev
[Top] [All Lists]

Re: [PATCH] make tg3 NAPI support configurable

To: Robert Olsson <Robert.Olsson@xxxxxxxxxxx>
Subject: Re: [PATCH] make tg3 NAPI support configurable
From: Jeff Garzik <jgarzik@xxxxxxxxx>
Date: Sat, 10 Jan 2004 20:49:46 -0500
Cc: Greg Banks <gnb@xxxxxxxxxxxxxxxxx>, "David S. Miller" <davem@xxxxxxxxxx>, Linux Network Development list <netdev@xxxxxxxxxxx>
In-reply-to: <16354.64258.364153.488309@robur.slu.se>
References: <3FE2F3A7.2A109F28@melbourne.sgi.com> <16354.64258.364153.488309@robur.slu.se>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030703
Robert Olsson wrote:
Greg Banks writes:

> I've been having some issues with irq rates and cpu usage in the
> tg3 driver. In short, on Altix machines they're far too high.
> It turned out that reverting the driver to its pre-NAPI interrupt
> coalescing scheme made the situation a lot better.
> > How much better? Running 8192 byte UDP packets across gige
> with NAPI takes 99.5% of a CPU to service 29,100 irqs per second.
> With the pre-NAPI code the figures are 36.0% CPU and 4880 irq/sec.
> Similar improvements are seen for non-fragmented UDP and for TCP.


 Hello!

 You can use coalescing with NAPI as well, e1000 and other drivers
 are doing this. This will give you same interrupt rates as non-
 NAPI at low load and "polling" without any interrupts at high load.

Yes, this is something I've been meaning to add to tg3 for months now. Adding some about of hardware intr mitigation -in addition to- NAPI will not only help on the NAPI "hard case" of moderate load and a super-fast CPU, but also help avoid certain silicon bugs...



Furthermore NAPI can be extended to schedule dev->poll even for TX-
interrupts. There is pacth for e1000 doing this. We see about 5-8% overall system packet improvement with this.

tg3 already schedules for TX, so we've got that part covered :)

        Jeff




<Prev in Thread] Current Thread [Next in Thread>