summaryrefslogtreecommitdiffstats
path: root/target/linux/ixp4xx
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-01-06 06:05:15 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-01-06 06:05:15 +0000
commitf082d62028aefee8e88dc227551c700b85ee7ad6 (patch)
tree1f1ec62e239c32d4a54092a95d130ea1f7625677 /target/linux/ixp4xx
parentae83c51a2e48ecb9e30c6c1b92ad3696e0389ea7 (diff)
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/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 000000000..5aac26ee8
--- /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);