patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'net/ixgbe: fix mbuf leak during Rx queue release' has been queued to stable release 16.07.1
@ 2016-10-12  6:44 Yuanhan Liu
  0 siblings, 0 replies; only message in thread
From: Yuanhan Liu @ 2016-10-12  6:44 UTC (permalink / raw)
  To: Yury Kylulin; +Cc: dpdk stable, Wenzhuo Lu

Hi,

FYI, your patch has been queued to stable release 16.07.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable
yet. It will be pushed if I get no objections before this Friday.
So please shutout if anyone has objections.

Thanks.

	--yliu

---
>From 669f6989cc272c4619c8d443363e296fad0e3480 Mon Sep 17 00:00:00 2001
From: Yury Kylulin <yury.kylulin@intel.com>
Date: Mon, 29 Aug 2016 19:50:47 +0300
Subject: [PATCH] net/ixgbe: fix mbuf leak during Rx queue release

[ upstream commit f853230920a9be609a87e4cb7335c359c4945744 ]

For the vector PMD, release all mbufs from the Rx queue if no packets
are received after device start.

Fixes: 11b220c6498d ("ixgbe: fix release queue mbufs")

Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx_vec_common.h | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h b/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h
index 62b8201..3c3c009 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h
+++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_common.h
@@ -204,8 +204,20 @@ _ixgbe_rx_queue_release_mbufs_vec(struct ixgbe_rx_queue *rxq)
 		return;
 
 	/* free all mbufs that are valid in the ring */
-	for (i = rxq->rx_tail; i != rxq->rxrearm_start; i = (i + 1) & mask)
-		rte_pktmbuf_free_seg(rxq->sw_ring[i].mbuf);
+	if (rxq->rxrearm_nb == 0) {
+		for (i = 0; i < rxq->nb_rx_desc; i++) {
+			if (rxq->sw_ring[i].mbuf != NULL)
+				rte_pktmbuf_free_seg(rxq->sw_ring[i].mbuf);
+		}
+	} else {
+		for (i = rxq->rx_tail;
+		     i != rxq->rxrearm_start;
+		     i = (i + 1) & mask) {
+			if (rxq->sw_ring[i].mbuf != NULL)
+				rte_pktmbuf_free_seg(rxq->sw_ring[i].mbuf);
+		}
+	}
+
 	rxq->rxrearm_nb = rxq->nb_rx_desc;
 
 	/* set all entries to NULL */
-- 
1.9.0

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-10-12  6:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-12  6:44 [dpdk-stable] patch 'net/ixgbe: fix mbuf leak during Rx queue release' has been queued to stable release 16.07.1 Yuanhan Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).