From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 53D11A0471 for ; Thu, 20 Jun 2019 03:57:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id ABCFC1D07B; Thu, 20 Jun 2019 03:57:46 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 75D901D071; Thu, 20 Jun 2019 03:57:45 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jun 2019 18:57:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,394,1557212400"; d="scan'208";a="182919828" Received: from npg-dpdk-virtio-tbie-2.sh.intel.com (HELO ___) ([10.67.104.151]) by fmsmga004.fm.intel.com with ESMTP; 19 Jun 2019 18:57:41 -0700 Date: Thu, 20 Jun 2019 09:56:28 +0800 From: Tiwei Bie To: Maxime Coquelin Cc: zhihong.wang@intel.com, dev@dpdk.org, stable@dpdk.org Message-ID: <20190620015628.GA2367@___> References: <20190618074159.3322-1-tiwei.bie@intel.com> <20190618074159.3322-2-tiwei.bie@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Subject: Re: [dpdk-dev] [PATCH 1/4] net/virtio: fix memory leak in in-order Rx X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Jun 19, 2019 at 02:34:40PM +0200, Maxime Coquelin wrote: > On 6/18/19 9:41 AM, Tiwei Bie wrote: > > When there is no enough segments for a packet in in-order > > mergeable Rx path, we should free the whole mbuf chain instead > > of just the last segment. > > I would write instead: > > " > we should free the whole mbuf chain instead of just recycling the last > segment. > " > > Because what was done before the patch it to refill the VQ with the last > segment. With your patch, the full chain is freed, then the refill is > done afterwards. > > Do you agree? Yeah, I totally agree :) Thanks! Tiwei > > Other than that: > Reviewed-by: Maxime Coquelin > > Thanks! > Maxime > > > > > Fixes: e5f456a98d3c ("net/virtio: support in-order Rx and Tx") > > Cc: stable@dpdk.org > > > > Signed-off-by: Tiwei Bie > > --- > > drivers/net/virtio/virtio_rxtx.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c > > index 1f1178467..bdb3a2f18 100644 > > --- a/drivers/net/virtio/virtio_rxtx.c > > +++ b/drivers/net/virtio/virtio_rxtx.c > > @@ -1555,7 +1555,7 @@ virtio_recv_pkts_inorder(void *rx_queue, > > } else { > > PMD_RX_LOG(ERR, > > "No enough segments for packet."); > > - virtio_discard_rxbuf_inorder(vq, prev); > > + rte_pktmbuf_free(rx_pkts[nb_rx]); > > rxvq->stats.errors++; > > break; > > } > >