aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ixp4xx
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-01-06 06:05:15 +0000
committerFelix Fietkau <nbd@openwrt.org>2010-01-06 06:05:15 +0000
commite5e3624fff9f359618564d53fccd2aea33856e8d (patch)
tree2e295de29fdd911e9bc8bf2b295a57439df6f566 /target/linux/ixp4xx
parent8ec79b460c194b6e6c2b85bd6155b620c3720896 (diff)
downloadupstream-e5e3624fff9f359618564d53fccd2aea33856e8d.tar.gz
upstream-e5e3624fff9f359618564d53fccd2aea33856e8d.tar.bz2
upstream-e5e3624fff9f359618564d53fccd2aea33856e8d.zip
ixp4xx: allocate all skbs using GFP_DMA this ensures that dma bounce buffers will not be used frequently when bridging or routing frames between ethernet and wifi. significantly improves ath9k performance and obsoletes an ath specific patch
SVN-Revision: 19051
Diffstat (limited to 'target/linux/ixp4xx')
-rw-r--r--target/linux/ixp4xx/patches-2.6.30/600-dma_performance.patch13
1 files changed, 13 insertions, 0 deletions
diff --git a/target/linux/ixp4xx/patches-2.6.30/600-dma_performance.patch b/target/linux/ixp4xx/patches-2.6.30/600-dma_performance.patch
new file mode 100644
index 0000000000..5aac26ee80
--- /dev/null
+++ b/target/linux/ixp4xx/patches-2.6.30/600-dma_performance.patch
@@ -0,0 +1,13 @@
+--- a/net/core/skbuff.c
++++ b/net/core/skbuff.c
+@@ -260,6 +260,10 @@ struct sk_buff *__alloc_skb(unsigned int
+ if (!skb)
+ goto out;
+
++#ifdef CONFIG_ARCH_IXP4XX
++ gfp_mask |= GFP_DMA;
++#endif
++
+ size = SKB_DATA_ALIGN(size);
+ data = kmalloc_node_track_caller(size + sizeof(struct skb_shared_info),
+ gfp_mask, node);