All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andre Guedes <andre.guedes@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH 03/10] igc: Refactor igc_clean_rx_ring()
Date: Thu, 17 Dec 2020 12:24:08 -0800	[thread overview]
Message-ID: <20201217202415.77891-4-andre.guedes@intel.com> (raw)
In-Reply-To: <20201217202415.77891-1-andre.guedes@intel.com>

This patch refactors igc_clean_rx_ring() helper, preparing the code for
AF_XDP zero-copy support which is added by upcoming patches.

The refactor consists of encapsulating page-shared specific code into
its own helper and leave common code that will be shared by both
page-shared and xsk pool in igc_clean_rx_ring().

Signed-off-by: Andre Guedes <andre.guedes@intel.com>
---
 drivers/net/ethernet/intel/igc/igc_main.c | 25 ++++++++++++++---------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index 56b791b356dc..d591c1e0581f 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -346,16 +346,10 @@ static int igc_setup_all_tx_resources(struct igc_adapter *adapter)
 	return err;
 }
 
-/**
- * igc_clean_rx_ring - Free Rx Buffers per Queue
- * @rx_ring: ring to free buffers from
- */
-static void igc_clean_rx_ring(struct igc_ring *rx_ring)
+static void igc_clean_rx_ring_page_shared(struct igc_ring *rx_ring)
 {
 	u16 i = rx_ring->next_to_clean;
 
-	clear_ring_uses_large_buffer(rx_ring);
-
 	dev_kfree_skb(rx_ring->skb);
 	rx_ring->skb = NULL;
 
@@ -385,10 +379,21 @@ static void igc_clean_rx_ring(struct igc_ring *rx_ring)
 		if (i == rx_ring->count)
 			i = 0;
 	}
+}
 
-	rx_ring->next_to_alloc = 0;
-	rx_ring->next_to_clean = 0;
-	rx_ring->next_to_use = 0;
+/**
+ * igc_clean_rx_ring - Free Rx Buffers per Queue
+ * @ring: ring to free buffers from
+ */
+static void igc_clean_rx_ring(struct igc_ring *ring)
+{
+	clear_ring_uses_large_buffer(ring);
+
+	igc_clean_rx_ring_page_shared(ring);
+
+	ring->next_to_alloc = 0;
+	ring->next_to_clean = 0;
+	ring->next_to_use = 0;
 }
 
 /**
-- 
2.29.2


  parent reply	other threads:[~2020-12-17 20:24 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-17 20:24 [Intel-wired-lan] [PATCH 00/10] igc: Add support for AF_XDP zero-copy Andre Guedes
2020-12-17 20:24 ` [Intel-wired-lan] [PATCH 01/10] igc: Move igc_xdp_is_enabled() Andre Guedes
2020-12-17 20:24 ` [Intel-wired-lan] [PATCH 02/10] igc: Refactor igc_xdp_run_prog() Andre Guedes
2020-12-21 22:45   ` Maciej Fijalkowski
2020-12-22  1:12     ` Andre Guedes
2020-12-17 20:24 ` Andre Guedes [this message]
2020-12-17 20:24 ` [Intel-wired-lan] [PATCH 04/10] igc: Refactor XDP rxq info registration Andre Guedes
2020-12-21 22:53   ` Maciej Fijalkowski
2020-12-22  1:13     ` Andre Guedes
2020-12-22 12:32       ` Maciej Fijalkowski
2020-12-22 17:43         ` Andre Guedes
2020-12-22 20:59           ` Maciej Fijalkowski
2020-12-17 20:24 ` [Intel-wired-lan] [PATCH 05/10] igc: Introduce igc_update_rx_stats() Andre Guedes
2020-12-17 20:24 ` [Intel-wired-lan] [PATCH 06/10] igc: Introduce igc_update_tx_stats() Andre Guedes
2020-12-21 22:58   ` Maciej Fijalkowski
2020-12-22  1:13     ` Andre Guedes
2020-12-17 20:24 ` [Intel-wired-lan] [PATCH 07/10] igc: Introduce igc_unmap_tx_buffer() helper Andre Guedes
2020-12-17 20:24 ` [Intel-wired-lan] [PATCH 08/10] igc: Replace IGC_TX_FLAGS_XDP flag by an enum Andre Guedes
2020-12-21 23:09   ` Maciej Fijalkowski
2020-12-22  1:13     ` Andre Guedes
2020-12-22 12:33       ` Maciej Fijalkowski
2020-12-17 20:24 ` [Intel-wired-lan] [PATCH 09/10] igc: Enable RX via AF_XDP zero-copy Andre Guedes
2020-12-22 13:14   ` Maciej Fijalkowski
2020-12-22 17:43     ` Andre Guedes
2020-12-22 20:59       ` Maciej Fijalkowski
2020-12-23 19:27         ` Andre Guedes
2020-12-17 20:24 ` [Intel-wired-lan] [PATCH 10/10] igc: Enable TX " Andre Guedes
2020-12-22 14:16   ` Maciej Fijalkowski
2020-12-22 14:20 ` [Intel-wired-lan] [PATCH 00/10] igc: Add support for " Maciej Fijalkowski
2020-12-22 17:43   ` Andre Guedes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201217202415.77891-4-andre.guedes@intel.com \
    --to=andre.guedes@intel.com \
    --cc=intel-wired-lan@osuosl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.