[TG3]: Remove status block access in tg3_msi() and add prefetches
authorMichael Chan <mchan@broadcom.com>
Tue, 6 Sep 2005 00:53:19 +0000 (17:53 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Sep 2005 00:53:19 +0000 (17:53 -0700)
commit61487480dd79acc5e82b08cd29cbcbd3301645fa
tree79f40bebd2062bfad707eb5f49087c100843a20a
parent9f40dead25957434937f2b1872e9f4b43605f0ad
[TG3]: Remove status block access in tg3_msi() and add prefetches

Remove unnecessary status block accesses in tg3_msi(). Since MSI is
not shared, it is unnecessary to read the status block to determine if
there are any new events in the MSI handler. It is also unnecessary to
clear the updated bit in the status block.

Since the poll list is per-cpu, tg3_poll() will be scheduled to run on
the same CPU that received the MSI. Prefetches for the status block
and the next rx descriptors are added in tg3_msi() to improve their
access times when tg3_poll() runs.

In the non-MSI irq handlers, we need to check the status block because
interrupts may be shared. Only prefetches for the next rx descriptors
are added.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c