From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [119.145.14.66]) by dpdk.org (Postfix) with ESMTP id A30935947 for ; Sat, 21 Mar 2015 04:58:20 +0100 (CET) Received: from 172.24.2.119 (EHLO szxeml427-hub.china.huawei.com) ([172.24.2.119]) by szxrg03-dlp.huawei.com (MOS 4.4.3-GA FastPath queued) with ESMTP id BDK93144; Sat, 21 Mar 2015 11:58:11 +0800 (CST) Received: from [127.0.0.1] (10.177.19.115) by szxeml427-hub.china.huawei.com (10.82.67.182) with Microsoft SMTP Server id 14.3.158.1; Sat, 21 Mar 2015 11:58:08 +0800 Message-ID: <550CEC4E.6070106@huawei.com> Date: Sat, 21 Mar 2015 11:58:06 +0800 From: Linhaifeng User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Thunderbird/31.1.0 MIME-Version: 1.0 To: "Ouyang, Changchun" , "dev@dpdk.org" References: <1426823642-27360-1-git-send-email-haifeng.lin@huawei.com> <550BBFD7.6030206@huawei.com> In-Reply-To: Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.19.115] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020202.550CEC54.000A, ss=1, re=0.001, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: a878c56e4748311b754d8cd00ecaf992 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: Sat, 21 Mar 2015 03:58:21 -0000 Hi, changchun & xie I have modify the path with your suggestions.Please review. Thank you. On 2015/3/20 15:28, Ouyang, Changchun wrote: > > >> -----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 >> >> >> >> 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 == NULL)) { >>> RTE_LOG(ERR, VHOST_DATA, >>> "Failed to allocate memory for mbuf.\n"); >>> - return entry_success; >>> + goto finish; >> >> or use 'break' replace of 'goto' ? > > Make sense, I can review if you make a v2 patch > Thanks > Changchun > > > > -- Regards, Haifeng