diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2009-08-18 11:17:09 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-18 23:26:51 -0400 |
commit | 6b84dacadbdc3dab6a5b313d20d5a93b0d998641 (patch) | |
tree | 20bd2d8b320f5a33da98b217fe0506757563cb66 /drivers/net/sky2.h | |
parent | ee5f68fea27b53b16c265b1f9ed8aa3bc9024c96 (diff) |
sky2: optimize transmit completion
Don't reference the list element in hardware transmit ring on transmit
completion. The list element is updated by hardware, therefore
it causes a cache miss. Do book keeping in software structure.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sky2.h')
-rw-r--r-- | drivers/net/sky2.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index 2c262f763f9..9d07a466aec 100644 --- a/drivers/net/sky2.h +++ b/drivers/net/sky2.h | |||
@@ -1984,6 +1984,9 @@ struct sky2_status_le { | |||
1984 | 1984 | ||
1985 | struct tx_ring_info { | 1985 | struct tx_ring_info { |
1986 | struct sk_buff *skb; | 1986 | struct sk_buff *skb; |
1987 | unsigned long flags; | ||
1988 | #define TX_MAP_SINGLE 0x0001 | ||
1989 | #define TX_MAP_PAGE 000002 | ||
1987 | DECLARE_PCI_UNMAP_ADDR(mapaddr); | 1990 | DECLARE_PCI_UNMAP_ADDR(mapaddr); |
1988 | DECLARE_PCI_UNMAP_LEN(maplen); | 1991 | DECLARE_PCI_UNMAP_LEN(maplen); |
1989 | }; | 1992 | }; |