[PATCH net-next 1/2] i40e: remove dead stores on XSK hotpath

Subsystems: intel ethernet drivers, networking drivers, the rest

STALE1633d REVIEWED: 1 (1M)

1 review trailer.

3 messages, 2 authors, 2022-02-18 · open the first message on its own page

[PATCH net-next 1/2] i40e: remove dead stores on XSK hotpath

From: Alexander Lobakin <hidden>
Date: 2021-11-30 18:37:50

The 'if (ntu == rx_ring->count)' block in i40e_alloc_rx_buffers_zc()
was previously residing in the loop, but after introducing the
batched interface it is used only to wrap-around the NTU descriptor,
thus no more need to assign 'xdp'.

'cleaned_count' in i40e_clean_rx_irq_zc() was previously being
incremented in the loop, but after commit f12738b6ec06
("i40e: remove unnecessary cleaned_count updates") it gets
assigned only once after it, so the initialization can be dropped.

Fixes: 6aab0bb0c5cd ("i40e: Use the xsk batched rx allocation interface")
Fixes: f12738b6ec06 ("i40e: remove unnecessary cleaned_count updates")
Signed-off-by: Alexander Lobakin <redacted>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_xsk.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_xsk.c b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
index ea06e957393e..f08d19b8c554 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_xsk.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_xsk.c
@@ -218,7 +218,6 @@ bool i40e_alloc_rx_buffers_zc(struct i40e_ring *rx_ring, u16 count)
 	ntu += nb_buffs;
 	if (ntu == rx_ring->count) {
 		rx_desc = I40E_RX_DESC(rx_ring, 0);
-		xdp = i40e_rx_bi(rx_ring, 0);
 		ntu = 0;
 	}
 
@@ -324,11 +323,11 @@ static void i40e_handle_xdp_result_zc(struct i40e_ring *rx_ring,
 int i40e_clean_rx_irq_zc(struct i40e_ring *rx_ring, int budget)
 {
 	unsigned int total_rx_bytes = 0, total_rx_packets = 0;
-	u16 cleaned_count = I40E_DESC_UNUSED(rx_ring);
 	u16 next_to_clean = rx_ring->next_to_clean;
 	u16 count_mask = rx_ring->count - 1;
 	unsigned int xdp_res, xdp_xmit = 0;
 	bool failure = false;
+	u16 cleaned_count;
 
 	while (likely(total_rx_packets < (unsigned int)budget)) {
 		union i40e_rx_desc *rx_desc;
-- 
2.33.1

[PATCH net-next 2/2] ice: remove dead store on XSK hotpath

From: Alexander Lobakin <hidden>
Date: 2021-11-30 18:43:47

The 'if (ntu == rx_ring->count)' block in ice_alloc_rx_buffers_zc()
was previously residing in the loop, but after introducing the
batched interface it is used only to wrap-around the NTU descriptor,
thus no more need to assign 'xdp'.

Fixes: db804cfc21e9 ("ice: Use the xsk batched rx allocation interface")
Signed-off-by: Alexander Lobakin <redacted>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
---
 drivers/net/ethernet/intel/ice/ice_xsk.c | 1 -
 1 file changed, 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_xsk.c b/drivers/net/ethernet/intel/ice/ice_xsk.c
index ff55cb415b11..8573d2a3d873 100644
--- a/drivers/net/ethernet/intel/ice/ice_xsk.c
+++ b/drivers/net/ethernet/intel/ice/ice_xsk.c
@@ -391,7 +391,6 @@ bool ice_alloc_rx_bufs_zc(struct ice_rx_ring *rx_ring, u16 count)
 	ntu += nb_buffs;
 	if (ntu == rx_ring->count) {
 		rx_desc = ICE_RX_DESC(rx_ring, 0);
-		xdp = rx_ring->xdp_buf;
 		ntu = 0;
 	}
 
-- 
2.33.1

RE: [Intel-wired-lan] [PATCH net-next 1/2] i40e: remove dead stores on XSK hotpath

From: Kuruvinakunnel, George <hidden>
Date: 2022-02-18 08:40:03

-----Original Message-----
From: Intel-wired-lan <redacted> On Behalf Of Lobakin,
Alexandr
Sent: Wednesday, December 1, 2021 12:07 AM
To: intel-wired-lan@lists.osuosl.org
Cc: linux-kernel@vger.kernel.org; Jesper Dangaard Brouer <hawk@kernel.org>;
Daniel Borkmann [off-list ref]; netdev@vger.kernel.org;
bpf@vger.kernel.org; John Fastabend [off-list ref]; Alexei
Starovoitov [off-list ref]; Jakub Kicinski [off-list ref]; Dumitrescu,
Cristian [off-list ref]; David S. Miller [off-list ref];
Karlsson, Magnus [off-list ref]
Subject: [Intel-wired-lan] [PATCH net-next 1/2] i40e: remove dead stores on XSK
hotpath

The 'if (ntu == rx_ring->count)' block in i40e_alloc_rx_buffers_zc() was previously
residing in the loop, but after introducing the batched interface it is used only to wrap-
around the NTU descriptor, thus no more need to assign 'xdp'.

'cleaned_count' in i40e_clean_rx_irq_zc() was previously being incremented in the
loop, but after commit f12738b6ec06
("i40e: remove unnecessary cleaned_count updates") it gets assigned only once after
it, so the initialization can be dropped.

Fixes: 6aab0bb0c5cd ("i40e: Use the xsk batched rx allocation interface")
Fixes: f12738b6ec06 ("i40e: remove unnecessary cleaned_count updates")
Signed-off-by: Alexander Lobakin <redacted>
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_xsk.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
Tested-by: George Kuruvinakunnel <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help