| To: | Greg Banks <gnb@xxxxxxxxxxxxxxxxx> |
|---|---|
| Subject: | [PATCH] make tg3 NAPI support configurable |
| From: | Robert Olsson <Robert.Olsson@xxxxxxxxxxx> |
| Date: | Fri, 19 Dec 2003 14:20:02 +0100 |
| Cc: | "David S. Miller" <davem@xxxxxxxxxx>, Jeff Garzik <jgarzik@xxxxxxxxx>, Linux Network Development list <netdev@xxxxxxxxxxx> |
| In-reply-to: | <3FE2F3A7.2A109F28@xxxxxxxxxxxxxxxxx> |
| References: | <3FE2F3A7.2A109F28@xxxxxxxxxxxxxxxxx> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
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.
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.
Cheers.
--ro
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [PATCH] make tg3 NAPI support configurable, Greg Banks |
|---|---|
| Next by Date: | Re: [PATCH 1/5] tun check error on memcpy_fromiovec, Jeff Garzik |
| Previous by Thread: | [PATCH] make tg3 NAPI support configurable, Greg Banks |
| Next by Thread: | [PATCH] IPV6 debug printk error and missing release in error path, Stephen Hemminger |
| Indexes: | [Date] [Thread] [Top] [All Lists] |