From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 44A55C07E95 for ; Wed, 7 Jul 2021 11:11:39 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id B5AD061C90 for ; Wed, 7 Jul 2021 11:11:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B5AD061C90 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9FB3741373; Wed, 7 Jul 2021 13:11:36 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 7FE6D406FF; Wed, 7 Jul 2021 13:11:34 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10037"; a="188964397" X-IronPort-AV: E=Sophos;i="5.83,331,1616482800"; d="scan'208";a="188964397" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jul 2021 04:11:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,331,1616482800"; d="scan'208";a="457448147" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga008.jf.intel.com with ESMTP; 07 Jul 2021 04:11:31 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 7 Jul 2021 04:11:31 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Wed, 7 Jul 2021 04:11:30 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Wed, 7 Jul 2021 04:11:30 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Wed, 7 Jul 2021 04:11:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GS4Hpxea2WWUWn7IMoF4JGJ6gk2d/xnBKQtUluvin8M97rm4m22hxF9HG1pSKbPGmLq3cERdIvDrsuCtGc8kNrEUp/9rc/AkkRe4E/46I0RCC0f6MdFCwfqnF+KDkIbc/F0wT3IGi7KhR66/eXze6VQ3omHwNcXgFtC5nSE56BIFXl8ng4zCVsEYVF8a38uGfYtfuCI5jd1NHHRFRDqYIjkDXc/uPRrwFWy2kGp0Gn0AeNSK2A4VZNWClgtRIEW8grBFMvEZUkwYDB3z2rw+DEfZC82qL2ktpapEbR/t3fFDZuI6ApFq8uUkDKMGWyDhLBna7l1tvpoD82FM1IlKxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QISqoxDHnf6ysGn7FsF+8e3IEAFikYu82n4pMi1xKDk=; b=eY4BCGObAIvh9Bjc49VDLpW3mBxKolZYkJo2KHJX6oOf7a/lF5HIRpiciOfgmAgwXIjTdq1ugYOwVtMbS0OLQYC+AXxw3kisw50ZnwmaJ8IFsOJWDVQE/vTR9KpEotZq/OSRWxI7S418Dp53Mof+r5jXFCicyEACDUwVFOvIHT3tr7khxr6sAEmPK/GNgA3YMt0dm1aUh8oEXWBN+1HLay3Ja1nN3WjdaLXxrwf5NjObz3GMS9CaIHflp7ozDecHLJ2ZyHiuf6do69kiYq330RDdTedv1Cu15Nb69mslwA/H29RkDhueuCWZ56rDS18LyMg6nJ3UzNab0NwA9xMEBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QISqoxDHnf6ysGn7FsF+8e3IEAFikYu82n4pMi1xKDk=; b=Hqc14Xcgpl0YJi6kFdFmbQzU9h/Erp1w+wghT+0iqmc6xz4all41rmZF7mrSFkBfDrN81PtE/0p9DcZtMz2EjONPBFykFdAnuhOcrbZjXFxSdWduOljmRRhuxvhvMGs1nYEGr+PISlk1HZI4y19fGj87JLQQDG+jCoeBDcRHaBo= Received: from SJ0PR11MB5006.namprd11.prod.outlook.com (2603:10b6:a03:2db::22) by SJ0PR11MB5005.namprd11.prod.outlook.com (2603:10b6:a03:2d3::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.21; Wed, 7 Jul 2021 11:11:27 +0000 Received: from SJ0PR11MB5006.namprd11.prod.outlook.com ([fe80::2005:352e:369a:e5f9]) by SJ0PR11MB5006.namprd11.prod.outlook.com ([fe80::2005:352e:369a:e5f9%7]) with mapi id 15.20.4287.033; Wed, 7 Jul 2021 11:11:27 +0000 From: "Jiang, Cheng1" To: Maxime Coquelin , "dev@dpdk.org" , "Xia, Chenbo" CC: "stable@dpdk.org" Thread-Topic: [PATCH v2] vhost: fix assuming packed ring size is a power of 2 Thread-Index: AQHXcxsfLhKNieSf3k2wtX3vWq6veqs3UYaw Date: Wed, 7 Jul 2021 11:11:26 +0000 Message-ID: References: <20210707103004.317886-1-maxime.coquelin@redhat.com> In-Reply-To: <20210707103004.317886-1-maxime.coquelin@redhat.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 20a756ac-c23d-4117-5666-08d94137f6ef x-ms-traffictypediagnostic: SJ0PR11MB5005: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gdTTjX433R4egl6DB0Z329WBmwwr7wqTwEdl8ed8TJYp39DxDOCTeD6dgXbQpxOfTyZHppIuYxQjJq4OF4D3wJlxPDNy6ue0Ekcc8X3XLBkD4GBpwHu8JRFxASz9w4YQcGt6Najn2vVe8JOb+8ounR+ocnqCzKAAx0I9ftUmi6n2oG0KiPs4DG1JTZtnZnRjRBGAKBGRCsjpK0M8DB4Q79UZYgD5tcJj7zQfcXInYfzaD7b5gt0k314n9mQ/bWn42sYtwDc2GTkEbQXEt0QG+4BCGP9odvX8ObtYetwd0d1DxEx7yg9SBmiL85vdm8MRoyD6N9vvVvleGcQiOwqkwXB9pjMA424loZyNaCasf4fg+n/8Fe+/etA7hpTq5s+qAWLFiYn3UJCG79uTmH7Aanbd/ZkICM7y4Cp10+Ye2v0kiUXmiHyJ09HMRkQU3jv1rD9TpvGycI6pIaMC5OJ1OfwU0OMHwFyLZX0X9GOVcdST7Z3aWOffY51aJFeFUqtIQO4O9qzdofHKbA5SLtmiPDsViq+nEIRgdIHWE3jc+rIK3fOboEQG28Z0B6Z8LOmRkQk2Ho8zHmbGEFmXp2WRofra01DUy4Kib2ibh4CTZWC+zCktCEVNIXy6X8vHjMbcxUQ3PIiJjd88IvcC510mXw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB5006.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(39860400002)(366004)(376002)(396003)(136003)(83380400001)(38100700002)(186003)(86362001)(71200400001)(122000001)(33656002)(5660300002)(6636002)(110136005)(7696005)(52536014)(2906002)(8676002)(8936002)(4326008)(55016002)(9686003)(26005)(53546011)(316002)(6506007)(478600001)(66946007)(64756008)(66446008)(66556008)(66476007)(76116006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?pCMzkx3CMmehna176BIdwnVH7ISr5nt3pvu5qzSkhPObKUpahlFvoGu9kZHE?= =?us-ascii?Q?jLMrzE1ohYxfaxBqPblcVb+G/HaP7f27Ro6Ip7mL8W/2sUg6ns75B5HAXEys?= =?us-ascii?Q?UR6yRLcRNPCByU+oENJipOMbdBlA8UGwqa8DWotcgEnqjpiQAeDDmMnoQfmw?= =?us-ascii?Q?nax3zGc9N+COlYex+omA+D0Tyn0aTpXQFO+fJZ6zDdvtoTaEMYLmdndxMurT?= =?us-ascii?Q?/i+ZXoxoqB1ffkhCrcZDn8/0GEWIsPqzucegST17InM9cm9Ywuo8gdpNyyU7?= =?us-ascii?Q?PVh2TE1OXGP5hgZygBLKnD7siodkYM/+Q1PUIv5qyPcKVbtfXIsV8pYefBs6?= =?us-ascii?Q?RvYpPZLbJutTv0QI32feDse126xNsoI4D2f14qXK+EPTiGHrCS73PMVhoJfv?= =?us-ascii?Q?YaKwkJ72X6Lx0gGu+U0XZTwgCB/EBDDZDV9qgcvPNO35QzWviWfCIG1nIPGQ?= =?us-ascii?Q?pSMcbvXym8qf1X9D1w/3qRGrx7Llyc8iv72zt/9qZ60o24/u3irABzz2HDjM?= =?us-ascii?Q?Sq5AcXLsdEqbMJLDfN0XUFc3bWMudhDtXBLdWnScsI3vjeOwdrJp226sfP+P?= =?us-ascii?Q?2RQhqMyMlACai9B+Q4Lr+xm41hAcMhxxRHPC/z/UX6KmcdqhWYfUZps2NrUU?= =?us-ascii?Q?XE3a+dERhtOdcoVhItpfzbTsd+54cly28GUtvvRBflEDyxyOGauKJ2IpemK1?= =?us-ascii?Q?atHJuDR7Gf9SAayizvzZZ35lnhohK0Ew4l8zdME5qYoM0pzHPnKuR5Gg23gy?= =?us-ascii?Q?lnaHzQk4OqcxuvLMx9plCGAXzOwO2paDyaQK2ZEURB2GLEvTh2bxCXe0J61e?= =?us-ascii?Q?nQj4tVUilkBmoMZNEk0NfYUfidahDqztjsfShEqUOZ/jTr7wmiDA+Al6s2mF?= =?us-ascii?Q?OsiSE1C3cqpm9j+9KnB5V25KL27vlR+Ghnf8GDX5A6xbcYIQLpVTp1BSNUO0?= =?us-ascii?Q?aHRbrmbFv3SWWth1emiwPPeRFV4yYqB7Fa7CkCG6aGTcT7urjq+SO813/r0Q?= =?us-ascii?Q?tJChdIpah89StyULaHMqt/ZrHtJrCtwsS3wwy2cpYMco8NfEeoqXjyhtA/i2?= =?us-ascii?Q?aTU09QkqY7N8uULoOL2K86vhtd0/6jTQqkM+AGimYBkbmDKjK6C9c7t69TN4?= =?us-ascii?Q?tzh1AUmnBjG+WofNTw5VDRxHz2DPN8GhljwU3v6Egh7WLrDLELRandYCWEd9?= =?us-ascii?Q?1iz/AOepA0mRCkXrjeTfBkqQyjryNFEg8cNp0X/Mhb7UP115M3h+V5K/MNDp?= =?us-ascii?Q?+xaFxr1+zoHbqWIrtPFUl0RoIkSXc7xowna38bm6K9UiCuWsiVHnf8Pq3z+J?= =?us-ascii?Q?fAA=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5006.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20a756ac-c23d-4117-5666-08d94137f6ef X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jul 2021 11:11:27.0547 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 8oT1FOIJ+WiO2ZsuULBGZ7AMGRvwHQdBCG5C+Z/64y30NyRUa5iQStpGdisjSMofKxBNobwR2mib/cS9oBpNeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5005 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2] vhost: fix assuming packed ring size is a power of 2 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Hi Maxime, I have also noticed the wrong calculation here, thanks for the timely help. Thanks, Cheng > -----Original Message----- > From: Maxime Coquelin > Sent: Wednesday, July 7, 2021 6:30 PM > To: dev@dpdk.org; Jiang, Cheng1 ; Xia, Chenbo > > Cc: Maxime Coquelin ; stable@dpdk.org > Subject: [PATCH v2] vhost: fix assuming packed ring size is a power of 2 >=20 > Unlike split ring, packed ring does not mandate the ring size to be a pow= er of > 2. So we have to use a modulo operation when wrapping ring index. >=20 > Fixes: 873e8dad6f49 ("vhost: support packed ring in async datapath") > Cc: stable@dpdk.org >=20 > Signed-off-by: Maxime Coquelin > --- >=20 > V2: Also fix wrapping in virtio_dev_rx_async_get_info_idx which is used i= n > the packed ring data path. >=20 > lib/vhost/virtio_net.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) >=20 > diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c index > b93482587c..0de5231db7 100644 > --- a/lib/vhost/virtio_net.c > +++ b/lib/vhost/virtio_net.c > @@ -1470,7 +1470,7 @@ virtio_dev_rx_async_get_info_idx(uint16_t > pkts_idx, > uint16_t vq_size, uint16_t n_inflight) { > return pkts_idx > n_inflight ? (pkts_idx - n_inflight) : > - (vq_size - n_inflight + pkts_idx) & (vq_size - 1); > + (vq_size - n_inflight + pkts_idx) % vq_size; > } >=20 > static __rte_always_inline void > @@ -2131,7 +2131,7 @@ uint16_t rte_vhost_poll_enqueue_completed(int > vid, uint16_t queue_id, >=20 > if (vq_is_packed(dev)) { > for (i =3D 0; i < n_pkts_put; i++) { > - from =3D (start_idx + i) & (vq_size - 1); > + from =3D (start_idx + i) % vq_size; > n_buffers +=3D pkts_info[from].nr_buffers; > pkts[i] =3D pkts_info[from].mbuf; > } > -- > 2.31.1 Acked-by: Cheng Jiang