Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1f2149c1 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

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: default avatarEric Dumazet <eric.dumazet@gmail.com>
CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
CC: Dimitris Michailidis <dm@chelsio.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 84b40501
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -491,7 +491,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
	__be64 *d = &q->desc[q->pidx];
	struct rx_sw_desc *sd = &q->sdesc[q->pidx];

	gfp |= __GFP_NOWARN;         /* failures are expected */
	gfp |= __GFP_NOWARN | __GFP_COLD;

#if FL_PG_ORDER > 0
	/*
@@ -528,7 +528,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
#endif

	while (n--) {
		pg = __netdev_alloc_page(adap->port[0], gfp);
		pg = alloc_page(gfp);
		if (unlikely(!pg)) {
			q->alloc_failed++;
			break;
@@ -537,7 +537,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
		mapping = dma_map_page(adap->pdev_dev, pg, 0, PAGE_SIZE,
				       PCI_DMA_FROMDEVICE);
		if (unlikely(dma_mapping_error(adap->pdev_dev, mapping))) {
			netdev_free_page(adap->port[0], pg);
			put_page(pg);
			goto out;
		}
		*d++ = cpu_to_be64(mapping);
+2 −3
Original line number Diff line number Diff line
@@ -653,8 +653,7 @@ static unsigned int refill_fl(struct adapter *adapter, struct sge_fl *fl,

alloc_small_pages:
	while (n--) {
		page = __netdev_alloc_page(adapter->port[0],
					   gfp | __GFP_NOWARN);
		page = alloc_page(gfp | __GFP_NOWARN | __GFP_COLD);
		if (unlikely(!page)) {
			fl->alloc_failed++;
			break;
@@ -664,7 +663,7 @@ static unsigned int refill_fl(struct adapter *adapter, struct sge_fl *fl,
		dma_addr = dma_map_page(adapter->pdev_dev, page, 0, PAGE_SIZE,
				       PCI_DMA_FROMDEVICE);
		if (unlikely(dma_mapping_error(adapter->pdev_dev, dma_addr))) {
			netdev_free_page(adapter->port[0], page);
			put_page(page);
			break;
		}
		*d++ = cpu_to_be64(dma_addr);
+1 −1
Original line number Diff line number Diff line
@@ -6135,7 +6135,7 @@ static bool igb_alloc_mapped_page(struct igb_ring *rx_ring,
		return true;

	if (!page) {
		page = netdev_alloc_page(rx_ring->netdev);
		page = alloc_page(GFP_ATOMIC | __GFP_COLD);
		bi->page = page;
		if (unlikely(!page)) {
			rx_ring->rx_stats.alloc_failed++;
+1 −1
Original line number Diff line number Diff line
@@ -1140,7 +1140,7 @@ void ixgbe_alloc_rx_buffers(struct ixgbe_ring *rx_ring, u16 cleaned_count)

		if (ring_is_ps_enabled(rx_ring)) {
			if (!bi->page) {
				bi->page = netdev_alloc_page(rx_ring->netdev);
				bi->page = alloc_page(GFP_ATOMIC | __GFP_COLD);
				if (!bi->page) {
					rx_ring->rx_stats.alloc_rx_page_failed++;
					goto no_buffers;
+1 −1
Original line number Diff line number Diff line
@@ -366,7 +366,7 @@ static void ixgbevf_alloc_rx_buffers(struct ixgbevf_adapter *adapter,
		if (!bi->page_dma &&
		    (adapter->flags & IXGBE_FLAG_RX_PS_ENABLED)) {
			if (!bi->page) {
				bi->page = netdev_alloc_page(adapter->netdev);
				bi->page = alloc_page(GFP_ATOMIC | __GFP_COLD);
				if (!bi->page) {
					adapter->alloc_rx_page_failed++;
					goto no_buffers;
Loading