From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BBE01A0556; Mon, 17 Oct 2022 09:54:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A30F24021D; Mon, 17 Oct 2022 09:54:56 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id B303F40143 for ; Mon, 17 Oct 2022 09:54:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665993294; x=1697529294; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=JV5cOQ53m0Q3FAW2CqqVw62M0fL3UyQFRK0VEtuDSZY=; b=cDLsKuy5c/fHD14aPYtbDtb2z5s0QR51zX08KIx7NYBoaNhObKnrhkI1 QcbBIpeakwSYLbMxNWXmu6m5CQSRgtZbCPg7Ffsjs7KVdUM4X2cOY50e3 LnEXBMT7jHUU3ao2+AUraJnIlkfP/tYyBmoHGGyzW2aTDlQUBJl0wWmUi wHJ9N9xU3YPRgi4jeSbvhDZRv6S/A21ec3iPEyuOO4WIvk7tJs0C31/fj cM+JdJg2G9kfTGewPgKLAjMvDNoDhxpSHOTDweQbGGgAjWbvdpmq/30yC AMDfuKxKFzKs18vW3MQRRvVebCB5mrJ0f/wpYjfY9bb7zgS8JMPvedEMy g==; X-IronPort-AV: E=McAfee;i="6500,9779,10502"; a="307391545" X-IronPort-AV: E=Sophos;i="5.95,190,1661842800"; d="scan'208";a="307391545" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2022 00:54:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10502"; a="803256648" X-IronPort-AV: E=Sophos;i="5.95,190,1661842800"; d="scan'208";a="803256648" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga005.jf.intel.com with ESMTP; 17 Oct 2022 00:54:53 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.2375.31; Mon, 17 Oct 2022 00:54:53 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.2375.31; Mon, 17 Oct 2022 00:54:52 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Mon, 17 Oct 2022 00:54:52 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) 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.2375.31; Mon, 17 Oct 2022 00:54:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BsUbWxMYs/xMeGGHytytWWbpwyy44yPbd3HV+4JvyhY+aOrXf5E7N1KWnPVPyfgMfOokA1epBG+kfc37Sfa7/FWq57KvRXblqwDp7hIfbzVOEkZwYNEX9JUwAxSuLxh8ne8IKV7Tbr0IC/yOGBt9oSGbOg7w2PQ9Zp9ogYrvVfWvFmoZf/o3c16af+Mh6+QrtDQFx4uemflBnVel+xC7kixy3mDq+VC4qdF2+mWejGaWISOrSagQPvIReFLjfvkpI5Zgv0R2jyPeG8NQHXmSgmztpme48gHDKAZk2+w0oKUjaCGLPhwIWvtkjqUrO2BaYCgmmGTi2Je0CdouhmXmNA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KScZ6gSCan0qdo8cHqUcYzwVH0K7Qr8kw6HnHYoNaYg=; b=OVduvY8q9AFqxhsONkhDXIZeavu0zxBLADpdwSJb85EHHWtjsPPgaOD/nsGDOzVkO2riDgRBo48+S67/9HzmEyAA+IDCyyKjjba9N4iCjQ5WX0/x0oakDuEfqWtHnTkch5BUQen/ss+3fHp7xO56aP3FSaUzJdGhyqWV0ay2qWHLwOOW1dvk+8w4tqXqeqla/r+F0/Jide+eUnOd6bV9SEFhRqomJe5f7KcKqHNVrkVEMlhq6tiNH2A6sGZY5Y0/DgCanKzGbfUeQMcYZahk5wrABhFJ2H0VyYMUAgANOmyHefN6aeSFIhqojMisnfG8B5C+O0FMyG/GXjJwOa7QFg== 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 Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by MN2PR11MB4613.namprd11.prod.outlook.com (2603:10b6:208:26d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.30; Mon, 17 Oct 2022 07:54:49 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::39bf:57b1:4824:d40d]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::39bf:57b1:4824:d40d%6]) with mapi id 15.20.5723.030; Mon, 17 Oct 2022 07:54:49 +0000 From: "Xia, Chenbo" To: "Pei, Andy" , "dev@dpdk.org" CC: "Xu, Rosen" , "Huang, Wei" , "Cao, Gang" , "maxime.coquelin@redhat.com" Subject: RE: [PATCH v5 7/8] vhost: vDPA blk device gets ready when the first queue is ready Thread-Topic: [PATCH v5 7/8] vhost: vDPA blk device gets ready when the first queue is ready Thread-Index: AQHY4fiWAgwumrXvBkeLyT1FslRK664SNtfA Date: Mon, 17 Oct 2022 07:54:49 +0000 Message-ID: References: <1661229305-240952-2-git-send-email-andy.pei@intel.com> <1665990833-44710-1-git-send-email-andy.pei@intel.com> <1665990833-44710-8-git-send-email-andy.pei@intel.com> In-Reply-To: <1665990833-44710-8-git-send-email-andy.pei@intel.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR11MB3504:EE_|MN2PR11MB4613:EE_ x-ms-office365-filtering-correlation-id: 44912b9a-e151-4d56-6930-08dab014de24 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: B4TDg6BHF3897D8AIpJajqNp+QV86xPELUYfbEK3sH62QiX8zERw3sALlppOx7WUMfJ88A1bo8Dkng63Ka+/s4pn1e42SMJj5fJ8mPgQ4In66ner1VasEU5neOv/MpJ2G1HK3YQh6i3Q3tXXm9eP4pZ8ddajfUZecpdsoz9sM3mSTsjkPYewVWtmAfGMkoweIAb1HbCdvxwFP4+e3GDTBz+vxbFzIL/iffgSY9rRdfFYifZ8SK2Isjj1PFlRtVP+ruh43KfNvFW+g7h4kEwwKfYjZJjPD5hEpOSyU54+QYUnxJqy4DZebuxuMIaSQshMQrKXlrgexUtpVZRcHUAQVUH+IoMweLPrpJod5s8s/j2P6Tr4zQh8k+19dqgZJIfKg+Qz8B4wNjQ6CW6hqLxpqhuX0UM+dLlCOUJ/ltY2eoWAaZwbyNj5vaceXaJGscnJU73NACLB3MkIJvoJ+fxqvDSzoBPhhEIg+r2sacV1XslpBGvyjQ0m5MZAk/jNuR5vXdK/kjekNwSOAHuWgIpcQsyQY5/tBrMyglWgGppA6wjGoF0bkDrmsMIZvICu0pvIUr2vvaWv0XJnKfczp+GyEKfyQjlFdElvMwGimm20FWGrHhUYkDNL13mKOVliMKeqkOZHtNah6AR8eArxywKF8YA6/Cowu2kGI1IQMaZhupAEkvaTgNQsm5Laf+9cc24sk84E6aO4RK+9Kr63yeMgDci6591hMc7yvuJlRJhoW0G7IQEQ+fOm3LceDhPTyauhUp53AAdn5AhChtjz2ieXLw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(136003)(376002)(396003)(346002)(39860400002)(366004)(451199015)(33656002)(86362001)(5660300002)(2906002)(38100700002)(82960400001)(122000001)(186003)(83380400001)(38070700005)(7696005)(6506007)(53546011)(316002)(26005)(478600001)(9686003)(110136005)(71200400001)(54906003)(76116006)(66946007)(66556008)(66476007)(66446008)(55016003)(41300700001)(52536014)(4326008)(8936002)(64756008)(8676002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Y7AKAPmCDixcYcx1bBE9VCjbt9A/PHP7rKcO0eNjYHQru4zpq8MXA2MGQGxe?= =?us-ascii?Q?ULk6WAg8d3gjoXAxYomig61Wp17xJl128z2KMtYZyrjydewtzxidvN9Rrn59?= =?us-ascii?Q?0PIrB2VpSNQr3uNctAhbwO7c1pXRDV+R0TzBCLCQeZA/1fctF5Fc0rqXfP3E?= =?us-ascii?Q?an6lCReAllSihn8z/KRHlS2xqlbjR0oHrGULYdADr5v0gln894oHUnBkQdh7?= =?us-ascii?Q?8esDoFtdWYCJUS/5kfZs/us/ZG37gkwPFpPZ924eC8vO7NdCFkZ0YcMid7YE?= =?us-ascii?Q?SAaRtNhTulluCOOx2/0cwLnKazwfom3APq6EgXjXNjV0TyiPpJqhy6oBdvQJ?= =?us-ascii?Q?PQkbd9a6afC+4tw/WBf7sg/gPGWYAJjcVlyQrNk0FZkYyhvhbxbk5/ibpt9o?= =?us-ascii?Q?vBSAnNP2q1sMp5UlY+pLNc9T1WRXA7Y0bF1E/Y0Ek3rJ7nvNea46LStGZvTG?= =?us-ascii?Q?e6LLnwdBsSWZUfJCimMJo0OUcN6y/G7MEnyq/yfRojMfIYtvOZjpkUUp8KQm?= =?us-ascii?Q?xLnQuGEaauS3FXINr3Q/GBtQU2QR2stl5r7yrAXaAyk4OXdZVTMuA/K8+o5H?= =?us-ascii?Q?mreun1DW+Vc3VueEfnkyH7mPm2nZNX0aJw/gBN6PQK7JMqW9jGwmwtNt04oq?= =?us-ascii?Q?jA+3m0LUhNbmEmuNIzEnwZD5kTy/uOZrpCtkFUM1uONK0eE8oqczDgyQ4Z34?= =?us-ascii?Q?wBcYMFiVV9A1q4WXzGgvvf3ZoUo1YyXd5UHGRalSw/SnB3zKlbOdxT71QzIt?= =?us-ascii?Q?Lk5KDO0yZxtdC4DJl/wWKEcUqplDzP09Oxne5dlhAP/SxTTYF6d3M2ujgwBk?= =?us-ascii?Q?X1edEZjgWTLSx16APi3H9EkoBpjhzh2jCT/GORdPGfkMgGBTc38bWtHjiXG6?= =?us-ascii?Q?/dHJQszwJP765ttE1Vq0OSnAONwiCqIhdOldwGqHgTKVnOwRox3yLXYnO7X3?= =?us-ascii?Q?yVC+pW2d8U85ttTCFQpHi13enkfRtn6aSsPNY+fT8EwJuFaMKuE0o6XnoRgd?= =?us-ascii?Q?WBXY7YiAS/tt7KC8Jn0869kOo7rkC8luwviLchALqH8R9I9+5nE8r4eQiRnA?= =?us-ascii?Q?pOBmHG8EXRQm2z3i0AU1Q7x6aJJFmq2ni6M3kdOcRe4oij5+hID29sxEccNW?= =?us-ascii?Q?mO80KcXDfxNtlpmBojmo8OAqR7vco/ukyfG6ar+VrrQaZbzLOGptA2tjYQOU?= =?us-ascii?Q?6wGkIviH/Ha7w4ejrblK3UoDlS9g9OON6hwJaXeNoOXQyhqkEb78umoCLTWt?= =?us-ascii?Q?dccCLX6mghIh6IToIkOeYQacGug73podROJu1KkN4BkgxIbsgpz22PXMxcY3?= =?us-ascii?Q?hw3nT7jRs+LF2ATscMVY35nnkaQ46uInXI5wU+CaTEgoS5eN6mhadRIsc0gi?= =?us-ascii?Q?c7U+1DTu9lTCUiR1o4KuPWzNYaBbvgRHG6jk0jmw5YJIXpwAvppFsQo3iZAl?= =?us-ascii?Q?y4tRSdFetZw0GAzeBdQvX5lq3k7ZThKojOWvnxGkufKBSuEzF6NtMFsWwt+S?= =?us-ascii?Q?3HPEyodVMDxseDQ/lxDr+pjp1cpLNoPnmJ0uTtNnkK0gQma8MHKBKw+ItWQX?= =?us-ascii?Q?oSEqTR7KByxkD9nHL1OibnO3hIIv1BwO9WmQp15L?= 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: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 44912b9a-e151-4d56-6930-08dab014de24 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2022 07:54:49.8640 (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: zwcUto/HpIYmRIrCFQUk7p79hwixjdlrU4bpoAyAmNyCsFRnQYNo+vQaKVlg8v3djxgbigrFOFv51nS3urcb8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4613 X-OriginatorOrg: intel.com 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 > -----Original Message----- > From: Pei, Andy > Sent: Monday, October 17, 2022 3:14 PM > To: dev@dpdk.org > Cc: Xia, Chenbo ; Xu, Rosen ; > Huang, Wei ; Cao, Gang ; > maxime.coquelin@redhat.com > Subject: [PATCH v5 7/8] vhost: vDPA blk device gets ready when the first > queue is ready >=20 > When boot from virtio blk device, seabios in QEMU only enables one queue. > To work in this scenario, vDPA BLK device back-end configure device > when any queue is ready. >=20 > Signed-off-by: Andy Pei > Signed-off-by: Huang Wei > --- > lib/vhost/vhost_user.c | 31 +++++++++++++++++++++++++++---- > 1 file changed, 27 insertions(+), 4 deletions(-) >=20 > diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c > index cd65257..f5206dd 100644 > --- a/lib/vhost/vhost_user.c > +++ b/lib/vhost/vhost_user.c > @@ -1441,11 +1441,15 @@ > } >=20 > #define VIRTIO_BUILTIN_NUM_VQS_TO_BE_READY 2u > +#define VIRTIO_BLK_NUM_VQS_TO_BE_READY 1u >=20 > static int > virtio_is_ready(struct virtio_net *dev) > { > + struct rte_vdpa_device *vdpa_dev; > struct vhost_virtqueue *vq; > + uint32_t vdpa_type; > + int ret =3D 0; > uint32_t i, nr_vring =3D dev->nr_vring; >=20 > if (dev->flags & VIRTIO_DEV_READY) > @@ -1454,13 +1458,32 @@ > if (!dev->nr_vring) > return 0; >=20 > - if (dev->flags & VIRTIO_DEV_BUILTIN_VIRTIO_NET) { > - nr_vring =3D VIRTIO_BUILTIN_NUM_VQS_TO_BE_READY; > + vdpa_dev =3D dev->vdpa_dev; > + if (vdpa_dev) { > + if (vdpa_dev->ops->get_dev_type) { > + ret =3D vdpa_dev->ops->get_dev_type(vdpa_dev, &vdpa_type); > + if (ret) { > + VHOST_LOG_CONFIG(dev->ifname, ERR, > + "failed to get vdpa dev type.\n"); > + return -1; > + } > + } else { > + vdpa_type =3D RTE_VHOST_VDPA_DEVICE_TYPE_NET; > + } > + } else { > + vdpa_type =3D -1; > + } Looking at it again, instead of getting the device type again and again, Should we just get and set the type into vdpa_dev when registering a vdpa d= evice? What do you think? Thanks, Chenbo >=20 > - if (dev->nr_vring < nr_vring) > - return 0; > + if (vdpa_type =3D=3D RTE_VHOST_VDPA_DEVICE_TYPE_BLK) { > + nr_vring =3D VIRTIO_BLK_NUM_VQS_TO_BE_READY; > + } else { > + if (dev->flags & VIRTIO_DEV_BUILTIN_VIRTIO_NET) > + nr_vring =3D VIRTIO_BUILTIN_NUM_VQS_TO_BE_READY; > } >=20 > + if (dev->nr_vring < nr_vring) > + return 0; > + > for (i =3D 0; i < nr_vring; i++) { > vq =3D dev->virtqueue[i]; >=20 > -- > 1.8.3.1