aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2011-11-22 05:57:41 -0500
committerDavid S. Miller <davem@davemloft.net>2011-11-22 16:43:32 -0500
commit1f2149c1df50c8c712950872675f46e6e44629f0 (patch)
treea33a556696e27611b6b38cdcbb6de9315f483bd4 /drivers/net
parent84b405011166e663fe9ef56c29b1d76f59b35568 (diff)
net: remove netdev_alloc_page and use __GFP_COLD
Given we dont use anymore the struct net_device *dev argument, and this interface brings litle benefit, remove netdev_{alloc|free}_page(), to debloat include/linux/skbuff.h a bit. (Some drivers used a mix of these interfaces and alloc_pages()) When allocating a page given to device for DMA transfer (device to memory), it makes sense to use a cold one (__GFP_COLD) Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com> CC: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/sge.c6
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4vf/sge.c5
-rw-r--r--drivers/net/ethernet/intel/igb/igb_main.c2
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_main.c2
-rw-r--r--drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c2
-rw-r--r--drivers/net/usb/cdc-phonet.c10
6 files changed, 13 insertions, 14 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/sge.c b/drivers/net/ethernet/chelsio/cxgb4/sge.c
index 140254c7cba..2dae7959f00 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/sge.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/sge.c
@@ -491,7 +491,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
491 __be64 *d = &q->desc[q->pidx]; 491 __be64 *d = &q->desc[q->pidx];
492 struct rx_sw_desc *sd = &q->sdesc[q->pidx]; 492 struct rx_sw_desc *sd = &q->sdesc[q->pidx];
493 493
494 gfp |= __GFP_NOWARN; /* failures are expected */ 494 gfp |= __GFP_NOWARN | __GFP_COLD;
495 495
496#if FL_PG_ORDER > 0 496#if FL_PG_ORDER > 0
497 /* 497 /*
@@ -528,7 +528,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
528#endif 528#endif
529 529
530 while (n--) { 530 while (n--) {
531 pg = __netdev_alloc_page(adap->port[0], gfp); 531 pg = alloc_page(gfp);
532 if (unlikely(!pg)) { 532 if (unlikely(!pg)) {
533 q->alloc_failed++; 533 q->alloc_failed++;
534 break; 534 break;
@@ -537,7 +537,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
537 mapping = dma_map_page(adap->pdev_dev, pg, 0, PAGE_SIZE, 537 mapping = dma_map_page(adap->pdev_dev, pg, 0, PAGE_SIZE,
538 PCI_DMA_FROMDEVICE); 538 PCI_DMA_FROMDEVICE);
539 if (unlikely(dma_mapping_error(adap->pdev_dev, mapping))) { 539 if (unlikely(dma_mapping_error(adap->pdev_dev, mapping))) {
540 netdev_free_page(adap->port[0], pg); 540 put_page(pg);
541 goto out; 541 goto out;
542 } 542 }
543 *d++ = cpu_to_be64(mapping); 543 *d++ = cpu_to_be64(mapping);
diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/sge.c b/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
index 8d5d55ad102..c381db23e71 100644
--- a/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
+++ b/drivers/net/ethernet/chelsio/cxgb4vf/sge.c
@@ -653,8 +653,7 @@ static unsigned int refill_fl(struct adapter *adapter, struct sge_fl *fl,
653 653
654alloc_small_pages: 654alloc_small_pages:
655 while (n--) { 655 while (n--) {
656 page = __netdev_alloc_page(adapter->port[0], 656 page = alloc_page(gfp | __GFP_NOWARN | __GFP_COLD);
657 gfp | __GFP_NOWARN);
658 if (unlikely(!page)) { 657 if (unlikely(!page)) {
659 fl->alloc_failed++; 658 fl->alloc_failed++;
660 break; 659 break;
@@ -664,7 +663,7 @@ alloc_small_pages:
664 dma_addr = dma_map_page(adapter->pdev_dev, page, 0, PAGE_SIZE, 663 dma_addr = dma_map_page(adapter->pdev_dev, page, 0, PAGE_SIZE,
665 PCI_DMA_FROMDEVICE); 664 PCI_DMA_FROMDEVICE);
666 if (unlikely(dma_mapping_error(adapter->pdev_dev, dma_addr))) { 665 if (unlikely(dma_mapping_error(adapter->pdev_dev, dma_addr))) {
667 netdev_free_page(adapter->port[0], page); 666 put_page(page);
668 break; 667 break;
669 } 668 }
670 *d++ = cpu_to_be64(dma_addr); 669 *d++ = cpu_to_be64(dma_addr);
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index bd9b30e6ae9..b66b8aa751e 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -6135,7 +6135,7 @@ static bool igb_alloc_mapped_page(struct igb_ring *rx_ring,
6135 return true; 6135 return true;
6136 6136
6137 if (!page) { 6137 if (!page) {
6138 page = netdev_alloc_page(rx_ring->netdev); 6138 page = alloc_page(GFP_ATOMIC | __GFP_COLD);
6139 bi->page = page; 6139 bi->page = page;
6140 if (unlikely(!page)) { 6140 if (unlikely(!page)) {
6141 rx_ring->rx_stats.alloc_failed++; 6141 rx_ring->rx_stats.alloc_failed++;
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index 820fc040c24..1b28ed9d8cc 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -1140,7 +1140,7 @@ void ixgbe_alloc_rx_buffers(struct ixgbe_ring *rx_ring, u16 cleaned_count)
1140 1140
1141 if (ring_is_ps_enabled(rx_ring)) { 1141 if (ring_is_ps_enabled(rx_ring)) {
1142 if (!bi->page) { 1142 if (!bi->page) {
1143 bi->page = netdev_alloc_page(rx_ring->netdev); 1143 bi->page = alloc_page(GFP_ATOMIC | __GFP_COLD);
1144 if (!bi->page) { 1144 if (!bi->page) {
1145 rx_ring->rx_stats.alloc_rx_page_failed++; 1145 rx_ring->rx_stats.alloc_rx_page_failed++;
1146 goto no_buffers; 1146 goto no_buffers;
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index 0c39bb1ac3b..5d1a6439816 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -366,7 +366,7 @@ static void ixgbevf_alloc_rx_buffers(struct ixgbevf_adapter *adapter,
366 if (!bi->page_dma && 366 if (!bi->page_dma &&
367 (adapter->flags & IXGBE_FLAG_RX_PS_ENABLED)) { 367 (adapter->flags & IXGBE_FLAG_RX_PS_ENABLED)) {
368 if (!bi->page) { 368 if (!bi->page) {
369 bi->page = netdev_alloc_page(adapter->netdev); 369 bi->page = alloc_page(GFP_ATOMIC | __GFP_COLD);
370 if (!bi->page) { 370 if (!bi->page) {
371 adapter->alloc_rx_page_failed++; 371 adapter->alloc_rx_page_failed++;
372 goto no_buffers; 372 goto no_buffers;
diff --git a/drivers/net/usb/cdc-phonet.c b/drivers/net/usb/cdc-phonet.c
index a60d0069cc4..331e44056f5 100644
--- a/drivers/net/usb/cdc-phonet.c
+++ b/drivers/net/usb/cdc-phonet.c
@@ -130,7 +130,7 @@ static int rx_submit(struct usbpn_dev *pnd, struct urb *req, gfp_t gfp_flags)
130 struct page *page; 130 struct page *page;
131 int err; 131 int err;
132 132
133 page = __netdev_alloc_page(dev, gfp_flags); 133 page = alloc_page(gfp_flags);
134 if (!page) 134 if (!page)
135 return -ENOMEM; 135 return -ENOMEM;
136 136
@@ -140,7 +140,7 @@ static int rx_submit(struct usbpn_dev *pnd, struct urb *req, gfp_t gfp_flags)
140 err = usb_submit_urb(req, gfp_flags); 140 err = usb_submit_urb(req, gfp_flags);
141 if (unlikely(err)) { 141 if (unlikely(err)) {
142 dev_dbg(&dev->dev, "RX submit error (%d)\n", err); 142 dev_dbg(&dev->dev, "RX submit error (%d)\n", err);
143 netdev_free_page(dev, page); 143 put_page(page);
144 } 144 }
145 return err; 145 return err;
146} 146}
@@ -208,9 +208,9 @@ static void rx_complete(struct urb *req)
208 dev->stats.rx_errors++; 208 dev->stats.rx_errors++;
209resubmit: 209resubmit:
210 if (page) 210 if (page)
211 netdev_free_page(dev, page); 211 put_page(page);
212 if (req) 212 if (req)
213 rx_submit(pnd, req, GFP_ATOMIC); 213 rx_submit(pnd, req, GFP_ATOMIC | __GFP_COLD);
214} 214}
215 215
216static int usbpn_close(struct net_device *dev); 216static int usbpn_close(struct net_device *dev);
@@ -229,7 +229,7 @@ static int usbpn_open(struct net_device *dev)
229 for (i = 0; i < rxq_size; i++) { 229 for (i = 0; i < rxq_size; i++) {
230 struct urb *req = usb_alloc_urb(0, GFP_KERNEL); 230 struct urb *req = usb_alloc_urb(0, GFP_KERNEL);
231 231
232 if (!req || rx_submit(pnd, req, GFP_KERNEL)) { 232 if (!req || rx_submit(pnd, req, GFP_KERNEL | __GFP_COLD)) {
233 usbpn_close(dev); 233 usbpn_close(dev);
234 return -ENOMEM; 234 return -ENOMEM;
235 } 235 }