From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 727E35A9F for ; Fri, 20 Mar 2015 08:28:05 +0100 (CET) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga101.jf.intel.com with ESMTP; 20 Mar 2015 00:28:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,435,1422950400"; d="scan'208";a="543687611" Received: from pgsmsx106.gar.corp.intel.com ([10.221.44.98]) by orsmga003.jf.intel.com with ESMTP; 20 Mar 2015 00:28:03 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by PGSMSX106.gar.corp.intel.com (10.221.44.98) with Microsoft SMTP Server (TLS) id 14.3.224.2; Fri, 20 Mar 2015 15:28:02 +0800 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.198]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.10]) with mapi id 14.03.0224.002; Fri, 20 Mar 2015 15:28:00 +0800 From: "Ouyang, Changchun" To: Linhaifeng , "dev@dpdk.org" Thread-Topic: [PATCH] lib/librte_vhost:fix can't send packet anymore after mempool is full again Thread-Index: AQHQYsGVwP/z/Ban8kWIGIag/9les50kZKqAgACUSRA= Date: Fri, 20 Mar 2015 07:28:00 +0000 Message-ID: References: <1426823642-27360-1-git-send-email-haifeng.lin@huawei.com> <550BBFD7.6030206@huawei.com> In-Reply-To: <550BBFD7.6030206@huawei.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] lib/librte_vhost:fix can't send packet anymore after mempool is full again X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2015 07:28:06 -0000 > -----Original Message----- > From: Linhaifeng [mailto:haifeng.lin@huawei.com] > Sent: Friday, March 20, 2015 2:36 PM > To: dev@dpdk.org > Cc: Ouyang, Changchun; Xie, Huawei > Subject: Re: [PATCH] lib/librte_vhost:fix can't send packet anymore after > mempool is full again >=20 >=20 >=20 > On 2015/3/20 11:54, linhaifeng wrote: > > From: Linhaifeng > > > > When failed to malloc buffer from mempool we just update last_used_idx > > but not used->idx so after many times vhost thought have handle all > > packets but virtio_net thought vhost have not handle all packets and > > will not update avail->idx. > > > > Signed-off-by: Linhaifeng > > --- > > lib/librte_vhost/vhost_rxtx.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/lib/librte_vhost/vhost_rxtx.c > > b/lib/librte_vhost/vhost_rxtx.c index 535c7a1..93a8fff 100644 > > --- a/lib/librte_vhost/vhost_rxtx.c > > +++ b/lib/librte_vhost/vhost_rxtx.c > > @@ -609,7 +609,7 @@ rte_vhost_dequeue_burst(struct virtio_net *dev, > uint16_t queue_id, > > if (unlikely(m =3D=3D NULL)) { > > RTE_LOG(ERR, VHOST_DATA, > > "Failed to allocate memory for mbuf.\n"); > > - return entry_success; > > + goto finish; >=20 > or use 'break' replace of 'goto' ? Make sense, I can review if you make a v2 patch Thanks Changchun