Re: Info: NAPI performance at "low" loads

Jeff Garzik (jgarzik@mandrakesoft.com)
Tue, 17 Sep 2002 22:36:36 -0400


David S. Miller wrote:
> From: Jeff Garzik <jgarzik@mandrakesoft.com>
> Date: Tue, 17 Sep 2002 22:11:14 -0400
>
> You'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 :)]

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/