aboutsummaryrefslogtreecommitdiffstats
path: root/target
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
commit9a12579f973af9db625ce51842d53ba4206a77b8 (patch)
tree1f1ec62e239c32d4a54092a95d130ea1f7625677 /target
parent165629fca5d88e97dd1822b40094890edacdc053 (diff)
downloadmaster-187ad058-9a12579f973af9db625ce51842d53ba4206a77b8.tar.gz
master-187ad058-9a12579f973af9db625ce51842d53ba4206a77b8.tar.bz2
master-187ad058-9a12579f973af9db625ce51842d53ba4206a77b8.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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19051 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-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);