diff options
author | Michael Chan <mchan@broadcom.com> | 2010-05-06 08:58:13 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-05-06 22:17:24 -0700 |
commit | a33fa66bcf365ffe5b79d1ae1d3582cc261ae56e (patch) | |
tree | cf714757a5c3644bd8154a4da0cea4eb53a80032 /drivers/net/bnx2.h | |
parent | c67938a9e071fa51c91ed17a14382e128368d115 (diff) | |
download | talos-obmc-linux-a33fa66bcf365ffe5b79d1ae1d3582cc261ae56e.tar.gz talos-obmc-linux-a33fa66bcf365ffe5b79d1ae1d3582cc261ae56e.zip |
bnx2: Add prefetches to rx path.
Add prefetches of the skb and the next rx descriptor to speed up rx path.
Use prefetchw() for the skb [suggested by Eric Dumazet].
The rx descriptor is in skb->data which is mapped for streaming mode DMA.
Eric Dumazet pointed out that we should not prefetch the data before
dma_sync. So we prefetch only if dma_sync is no_op on the system.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2.h')
-rw-r--r-- | drivers/net/bnx2.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h index ab34a5d86f86..dd35bd0b7e05 100644 --- a/drivers/net/bnx2.h +++ b/drivers/net/bnx2.h @@ -6551,6 +6551,7 @@ struct l2_fhdr { struct sw_bd { struct sk_buff *skb; + struct l2_fhdr *desc; DEFINE_DMA_UNMAP_ADDR(mapping); }; |