ixp4xx: allocate all skbs using GFP_DMA
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 6 Jan 2010 06:05:15 +0000 (06:05 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 6 Jan 2010 06:05:15 +0000 (06:05 +0000)
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

package/mac80211/patches/500-ath_use_gfp_dma.patch [deleted file]
target/linux/ixp4xx/patches-2.6.30/600-dma_performance.patch [new file with mode: 0644]

diff --git a/package/mac80211/patches/500-ath_use_gfp_dma.patch b/package/mac80211/patches/500-ath_use_gfp_dma.patch
deleted file mode 100644 (file)
index 9390a2f..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/drivers/net/wireless/ath/main.c
-+++ b/drivers/net/wireless/ath/main.c
-@@ -31,6 +31,14 @@ struct sk_buff *ath_rxbuf_alloc(struct a
-       u32 off;
-       /*
-+       * Enable GFP_DMA in order to avoid using DMA bounce buffers
-+       * on IXP4xx devices with more than 64M RAM
-+       */
-+#ifdef CONFIG_ARCH_IXP4XX
-+      gfp_mask |= GFP_DMA;
-+#endif
-+
-+      /*
-        * Cache-line-align.  This is important (for the
-        * 5210 at least) as not doing so causes bogus data
-        * in rx'd frames.
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 (file)
index 0000000..5aac26e
--- /dev/null
@@ -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);
This page took 0.029751 seconds and 4 git commands to generate.