summaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2.h
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2010-05-06 08:58:13 +0000
committerDavid S. Miller <davem@davemloft.net>2010-05-06 22:17:24 -0700
commita33fa66bcf365ffe5b79d1ae1d3582cc261ae56e (patch)
treecf714757a5c3644bd8154a4da0cea4eb53a80032 /drivers/net/bnx2.h
parentc67938a9e071fa51c91ed17a14382e128368d115 (diff)
downloadlinux-a33fa66bcf365ffe5b79d1ae1d3582cc261ae56e.tar.gz
linux-a33fa66bcf365ffe5b79d1ae1d3582cc261ae56e.tar.bz2
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.h1
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);
};