From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id F1B0DA0524; Mon, 24 Feb 2020 08:39:12 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D63DC1BFAC; Mon, 24 Feb 2020 08:39:12 +0100 (CET) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id B05781BFA5; Mon, 24 Feb 2020 08:39:10 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Feb 2020 23:39:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,479,1574150400"; d="scan'208";a="349865859" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga001.fm.intel.com with ESMTP; 23 Feb 2020 23:39:09 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 23 Feb 2020 23:39:09 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.196]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.201]) with mapi id 14.03.0439.000; Mon, 24 Feb 2020 15:39:06 +0800 From: "Liu, Yong" To: "Ye, Xiaolong" , "maxime.coquelin@redhat.com" CC: "dev@dpdk.org" , "Bie, Tiwei" , "Wang, Zhihong" , "stable@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] vhost: fix zmbuf buffer id invalid Thread-Index: AQHV6uH3u772sEN6QkK38lPQK+YKmagpa1CAgACJlrA= Date: Mon, 24 Feb 2020 07:39:06 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E634B9C65@SHSMSX103.ccr.corp.intel.com> References: <20200224145025.84899-1-yong.liu@intel.com> <20200224072531.GA87591@intel.com> In-Reply-To: <20200224072531.GA87591@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMDBlNjU3MzAtYTRlYS00NGJkLTgyZGItZmMyYmFlZDg2ZTRjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiV0JlWUo1alhaRzM0Ym9LK2pEZjUzVFo3TWZ4SWJVQjVkQ0lEV2ZvOVwvSSswSVMrbDlqZ3p4NzZJZHZyekhpd0EifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action 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] vhost: fix zmbuf buffer id invalid 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" Thanks, xiaolong & maxime. Commits log has been fixed in v2. > -----Original Message----- > From: Ye, Xiaolong > Sent: Monday, February 24, 2020 3:26 PM > To: Liu, Yong > Cc: maxime.coquelin@redhat.com; dev@dpdk.org; Bie, Tiwei > ; Wang, Zhihong ; > stable@dpdk.org > Subject: Re: [dpdk-dev] [PATCH] vhost: fix zmbuf buffer id invalid >=20 > For the subject, what about: >=20 > vhost: fix invalid zmbuf buffer id >=20 > On 02/24, Marvin Liu wrote: > >zc mbufs should record available buffer id when doing dequeue zcopy. > >There's no guarantee that local queue avail index equal to buffer index. >=20 > s/equal to/is equal to >=20 > > > >Fixes: d1eafb532268 ("vhost: add packed ring zcopy batch and single > dequeue") > >Cc: stable@dpdk.org > > > >Signed-off-by: Marvin Liu > >Reported-by: Yinan Wang > > > >diff --git a/lib/librte_vhost/virtio_net.c > b/lib/librte_vhost/virtio_net.c > >index 37c47c7dc..210415904 100644 > >--- a/lib/librte_vhost/virtio_net.c > >+++ b/lib/librte_vhost/virtio_net.c > >@@ -2004,7 +2004,7 @@ virtio_dev_tx_batch_packed_zmbuf(struct virtio_net > *dev, > > > > vhost_for_each_try_unroll(i, 0, PACKED_BATCH_SIZE) { > > zmbufs[i]->mbuf =3D pkts[i]; > >- zmbufs[i]->desc_idx =3D avail_idx + i; > >+ zmbufs[i]->desc_idx =3D ids[i]; > > zmbufs[i]->desc_count =3D 1; > > } > > > >@@ -2045,7 +2045,7 @@ virtio_dev_tx_single_packed_zmbuf(struct > virtio_net *dev, > > return -1; > > } > > zmbuf->mbuf =3D *pkts; > >- zmbuf->desc_idx =3D vq->last_avail_idx; > >+ zmbuf->desc_idx =3D buf_id; > > zmbuf->desc_count =3D desc_count; > > > > rte_mbuf_refcnt_update(*pkts, 1); > >-- > >2.17.1 > > >=20 > Apart from above, >=20 > Reviewed-by: Xiaolong Ye