| To: | "David S. Miller" <davem@xxxxxxxxxx> |
|---|---|
| Subject: | Re: Info: NAPI performance at "low" loads |
| From: | Jeff Garzik <jgarzik@xxxxxxxxxxxxxxxx> |
| Date: | Tue, 17 Sep 2002 22:36:36 -0400 |
| Cc: | akpm@xxxxxxxxx, manfred@xxxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx |
| Organization: | MandrakeSoft |
| References: | <3D87A4A2.6050403@xxxxxxxxxxxxxxxx> <20020917.144911.43656989.davem@xxxxxxxxxx> <3D87E0C2.6040004@xxxxxxxxxxxxxxxx> <20020917.190641.84134530.davem@xxxxxxxxxx> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
| User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020826 |
David S. Miller wrote: From: Jeff Garzik <jgarzik@xxxxxxxxxxxxxxxx> Date: Tue, 17 Sep 2002 22:11:14 -0400You're looking at at least one extra get-irq-status too, at least in the classical 10/100 drivers I'm used to seeing... How so? The number of ones done in the e1000 NAPI code are the same(read register until no interesting status bits remain set, same as pre-NAPI e1000 driver). For tg3 it's a cheap memory read from the status block not a PIO.
Non-NAPI:
get-irq-stat
ack-irq
get-irq-stat (omit, if no work loop)
NAPI:
get-irq-stat
ack-all-but-rx-irq
mask-rx-irqs
get-irq-stat (omit, if work loop)
...
ack-rx-irqs
get-irq-stat
unmask-rx-irqs
This is the low load / low latency case only. The number of IOs
decreases at higher loads [obviously :)]
|
| Previous by Date: | Re: FIN_WAIT1 / TCP_CORK / 2.2 -- reproducible bug and test case, Martin Pool |
|---|---|
| Next by Date: | Re: bonding vs 802.3ad/Cisco EtherChannel link agregation, Ben Greear |
| Previous by Thread: | Re: Info: NAPI performance at "low" loads, David S. Miller |
| Next by Thread: | Re: Info: NAPI performance at "low" loads, Andrew Morton |
| Indexes: | [Date] [Thread] [Top] [All Lists] |