aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>2014-01-08 04:50:49 -0500
committerJohn W. Linville <linville@tuxdriver.com>2014-01-09 10:56:39 -0500
commit1cbbcb08c786964a16773c39f2536f1923c73c58 (patch)
tree31dce2e250beea3fed5d17b139a48788f98cb0f9
parentdf2d08eed2a38cee971b3f2ff132d8369471404e (diff)
wil6210: prefetch head of packet
As soon as skb is ready to be reaped, prefetch 1-st cache line. This accelerates data access that is performed later, during the packet classification by the driver and IP stack. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/ath/wil6210/txrx.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c
index 18003c0d5141..9b88440ef05b 100644
--- a/drivers/net/wireless/ath/wil6210/txrx.c
+++ b/drivers/net/wireless/ath/wil6210/txrx.c
@@ -21,6 +21,7 @@
21#include <linux/ip.h> 21#include <linux/ip.h>
22#include <linux/ipv6.h> 22#include <linux/ipv6.h>
23#include <net/ipv6.h> 23#include <net/ipv6.h>
24#include <asm/processor.h>
24 25
25#include "wil6210.h" 26#include "wil6210.h"
26#include "wmi.h" 27#include "wmi.h"
@@ -377,6 +378,8 @@ static struct sk_buff *wil_vring_reap_rx(struct wil6210_priv *wil,
377 } 378 }
378 skb_trim(skb, dmalen); 379 skb_trim(skb, dmalen);
379 380
381 prefetch(skb->data);
382
380 wil_hex_dump_txrx("Rx ", DUMP_PREFIX_OFFSET, 16, 1, 383 wil_hex_dump_txrx("Rx ", DUMP_PREFIX_OFFSET, 16, 1,
381 skb->data, skb_headlen(skb), false); 384 skb->data, skb_headlen(skb), false);
382 385