]> Pileus Git - ~andy/linux/commitdiff
wil6210: prefetch head of packet
authorVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Wed, 8 Jan 2014 09:50:49 +0000 (11:50 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 9 Jan 2014 15:56:39 +0000 (10:56 -0500)
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>
drivers/net/wireless/ath/wil6210/txrx.c

index 18003c0d5141f60a30bc67edfa3a43946ddaf8b0..9b88440ef05b10bd613cf27e5bb0ccf76e4fc2b4 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/ip.h>
 #include <linux/ipv6.h>
 #include <net/ipv6.h>
+#include <asm/processor.h>
 
 #include "wil6210.h"
 #include "wmi.h"
@@ -377,6 +378,8 @@ static struct sk_buff *wil_vring_reap_rx(struct wil6210_priv *wil,
        }
        skb_trim(skb, dmalen);
 
+       prefetch(skb->data);
+
        wil_hex_dump_txrx("Rx ", DUMP_PREFIX_OFFSET, 16, 1,
                          skb->data, skb_headlen(skb), false);