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 9CF57A0032; Wed, 14 Sep 2022 09:01:52 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 40CBD40151; Wed, 14 Sep 2022 09:01:52 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id 8E2F740141 for ; Wed, 14 Sep 2022 09:01:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1663138910; x=1694674910; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Nqm+zkBbVZBI0ey//ZRXTIDqR/WMMlHpCyxNXSVU4WA=; b=HbVZTvmCDz5mPQRrAs8x09GEzolTqhj1AnyhUMj/DrgMr0DBk33JfWcJ irVyGJIxDuRmvDwP61KTfSX7HYvHX9cvTQ4/bvWopHUfInaYqAePkbcgI O2LaqQ6ENppOu+Jv8SD4p+PFZvTXAIDKAAEZA1UlOV71E/ad9B/eksUv8 yT3vxfrv/Fkf7oqEiDTKPo2oK1Blv5B3KBwFPtd4t4zOPvlVHYjdDbWph dr4JL51jcojnpm1y9JmIBvJeMSrNRnp9x0iFrGRhN84dWPxWYHCCNEacL K7IPpgzE5pm1XOHSYNfoDwa1OM0VwrS3oWr0hAF+Vji+YoLAq55OdOLRB w==; X-IronPort-AV: E=McAfee;i="6500,9779,10469"; a="324604234" X-IronPort-AV: E=Sophos;i="5.93,313,1654585200"; d="scan'208";a="324604234" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2022 00:01:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,313,1654585200"; d="scan'208";a="649967164" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga001.jf.intel.com with ESMTP; 14 Sep 2022 00:01:46 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 14 Sep 2022 00:01:42 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 14 Sep 2022 00:01:41 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Wed, 14 Sep 2022 00:01:41 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.173) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Wed, 14 Sep 2022 00:01:40 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QtxtUk51Ts38rWFnY8wzCtnOn7LaLsAkbghPjd397bChB6UAfa096Win57abhQ53STIDkeI/o4y/4sl3G+ACioFpFmCrNFmM6zhdTTlVxYmWittqws6GEUX/zRV9QexW8b+NTz/qG2aTbob8zdn8izcXqC2BxvGA9BlxJSjQWaa4LmjTKRE3t7rQPm4XfAapQi4RZudxIv19rV57x9kijAbF4hg9ccaU1nFBldvzIZB1Dsfrx0L0LkHtxAoSfRCJVDl93g9HwvVUTpSJkdRZJseNLruHmXQjT1uP3bOz/6v/crYI3lhSiSL7cqBQxFrxoRCO/rXGSwcuHpkUn5sCsw== 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=0aBnt5O+JHAeWdYMsrK3FCB+Fb4c2gnC438zrqW5Zqw=; b=gfpG1hvejLq+q0wjNRbz5VsL5sAuEGnedqO/VsfqYfQM3Ysm70pFw+d4wA0MqEpgpFZfhK6G/g93+Qhnj3abNXNQ7YMjAUndycYX5ChSNAkUQ+JpIWj5Ky4Xh20c420IO1qfCn5IlInbqigEa7CkOuI8k4YKYGDaUGpUL/1MtqAGfS/F7UhCjgvWDp9Qxz0bwwvICS6OnMdomKFXFhAnJYI52kNEr95qE4fTW3aEM+gGEiWPEXkDeTF1asCBeKDS8RCnGtfDHQmHRBD6voYX0UNBnFTbi4GmllgfmAe5oJmzV6z7xhnr4Jxro6lVobWvZr5rFkgQzPNan2sF4uMkAg== 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 DM5PR11MB1739.namprd11.prod.outlook.com (2603:10b6:3:111::22) by PH7PR11MB6675.namprd11.prod.outlook.com (2603:10b6:510:1ad::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.12; Wed, 14 Sep 2022 07:01:39 +0000 Received: from DM5PR11MB1739.namprd11.prod.outlook.com ([fe80::4cf2:7f87:f969:3ef9]) by DM5PR11MB1739.namprd11.prod.outlook.com ([fe80::4cf2:7f87:f969:3ef9%3]) with mapi id 15.20.5612.022; Wed, 14 Sep 2022 07:01:38 +0000 From: "Pei, Andy" To: "Xia, Chenbo" , "dev@dpdk.org" CC: "Xu, Rosen" , "Huang, Wei" , "Cao, Gang" , "maxime.coquelin@redhat.com" Subject: RE: [PATCH v2 7/8] vhost: configure device when any queue is ready for BLK device Thread-Topic: [PATCH v2 7/8] vhost: configure device when any queue is ready for BLK device Thread-Index: AQHYx+TBwTVunbqDzEa4nr0/x0yf4K3ee+Ng Date: Wed, 14 Sep 2022 07:01:38 +0000 Message-ID: References: <1661229305-240952-2-git-send-email-andy.pei@intel.com> <1662616458-164613-1-git-send-email-andy.pei@intel.com> <1662616458-164613-8-git-send-email-andy.pei@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.500.17 dlp-reaction: no-action 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: DM5PR11MB1739:EE_|PH7PR11MB6675:EE_ x-ms-office365-filtering-correlation-id: 8bfb2dcd-92a4-411d-dc5e-08da961ef836 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /eAYfNVxdp0Lf4bPQdVbbPfFO9s9ayv48iq1MZCNUf9qVYOfdk/mHw/n7sWk90YarfgFkZDjHpK7DjcVETFVKaz90VTxx6nVKqqCbdLOhmjEXG3c3tgWs8SKUhKdvo/WiZRy3WNXOnVMEihbm+UNpR/G+tpVxIQW5Z8PFyn8+0ZJd9t/Elwc3ijDVjSHNHmpeOxtMHdDYkrE4+CsCv/sVZhOzpvhnL7c5P9Lu8Vdz2qvc22qiu2cRO0r5RTtjdP7kOHgWT7KYe7lgYGf1R/fzYfhdxNRUUhHyRmFj4VnbwFWULsQuSoNOKBjg+t13++ztCJhEBHsMNsANf5qR77IjKIdGqnSpBsDEsQl6K8C4S+Bww46UIFvVtEpF88/RZBVBhWpiLrJ8DCUxkjQ9KAtcCqsVLJXQb+mNXlh52CqGdsinYl2ry9Tm3t7o3vM5mjA7WMkigMhTkNleRKa7WqfRo8l3UJFPCZn7lgXnhQad3y5uPKPOqLQsZpD5tXzComG+27gleVFZvyA577rfpFLjFjp+2QPRvPiAgSMjWAE0GvmV8bmHTymolnm7QqeeZHcpSSlnqjjwpfZe/TRW2gln8DX0xZ9DPxWgrTzHiocJc5fDbdS6BOs97O714MGMKHyXd4WVNMx4tUK8fxpy0UJghpkc5BURoRQeNB1l9cDhT0pRbFfnhr6v7WUpfqR2lhW8xHzPGmJL/wrSVbyNCAO5akCVSbNkiJYmrOoP0kdFWqHRT1qyzeuAAUV6/3JPHj5VgKeV36DQd0SgyZ3nWhiUg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR11MB1739.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(366004)(376002)(39860400002)(346002)(396003)(136003)(451199015)(7696005)(53546011)(316002)(6506007)(76116006)(26005)(66476007)(33656002)(86362001)(8936002)(478600001)(9686003)(54906003)(41300700001)(66556008)(8676002)(66446008)(4326008)(66946007)(64756008)(52536014)(110136005)(5660300002)(2906002)(186003)(83380400001)(38100700002)(71200400001)(82960400001)(38070700005)(55016003)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?SWf7jdFXwh5KpVnwonpW+TyOpuphTkEvkp8zqE4FujfInIMEOlK0bJlbfN3N?= =?us-ascii?Q?Kc7NRMxlT0Zx5I9OYgdhP/IK/WbAlggUIPwyGimbr9Ndm35NIrwkRPZhPGx9?= =?us-ascii?Q?4MPV08iSpIuDhpcqGOw6cMln4BSXc7Xdb120cWszfE2bSgfWPgYT7ugqEVih?= =?us-ascii?Q?pdcwL6tRJAIzpVnGaJ+Q45K4t4mZUdS8BLrowJ7bO+H7/pCSvEVprnlh986/?= =?us-ascii?Q?OKblxm6kMObKuuGpg/RmAeF3Nbavbzlw6RQvpBE/nK5FT1LtwpZHWFcJaken?= =?us-ascii?Q?TlapviiQiMhr1d6cNEsasP29c/8O+iDBdcNR2TPCfLfUr+uv0tERH4tOjK4q?= =?us-ascii?Q?vzgHmLL0rPkHnTjRmKn3t4X8Vc/DdDyp1RHBMyqcmOFCUyEI8I6mncCSod2v?= =?us-ascii?Q?kDfIrIuhimsks9AvSn7JTGyDwNEaWOBnvYg3/I5QJ+b3fpj7Q3gvvsJBhlq9?= =?us-ascii?Q?MyOYs0dm3H05iOKE+z7+NMFmmgBH8Od8tqhjADwp1lY+lpmT1cg+Aun6kLn+?= =?us-ascii?Q?GIqZI3wd0w8vNWgyi6CPsi9GrPBx7ja4Jv8kPHLwYDZ9TykUs/NuC42OYAgc?= =?us-ascii?Q?Ev42ZLz61LK1qHhKCy09wO3MIvNaemW+EC4KSJZm43qA3HFKm8POVUgqYIyG?= =?us-ascii?Q?TeRAlcwbgGk6rkoGKAwGvglbzvCARdpA29R1IjMizm+HXGuwZg1EvjeZvB1o?= =?us-ascii?Q?pjD/ehmVUCoovyzATyBqiMin2TQCGZCaVDsg49llrzWacSp/EDT6FkOnmyA6?= =?us-ascii?Q?X7Onv4oO/PvI0aoylWQiK8kvLKCQWLY02chblvCV/2ncYXNwcEnRDPqYnjAE?= =?us-ascii?Q?Zpo6/U0JVmNl//gzPlyGh/qNg2NODSJgKArNdNjKttUgIVcTSVRS7kXhvjVT?= =?us-ascii?Q?sH12F15dwjqFL+q9Jmb1EUGsOZg5K7JvZH4D1LnfgjN0mJWVhOpD1f49/j4j?= =?us-ascii?Q?/Bibs6z3yL3VoYw3D5sLno4e+TVIcJ8FnqqIBKsmGoxc3EQjD3WWlSsc/YW2?= =?us-ascii?Q?EhrsHCr6I08Tb9Fxp+nJp4fRFH9z0DnyOExvXlX3YtzB2txfgp4ikd3Pir49?= =?us-ascii?Q?ZhrLwEml7jXI4/UXtXjzYFs8UNwowzGhTqKMvp4Cq7zT1Q/XQIQRNVf9SoBM?= =?us-ascii?Q?ifGXQFJOJ2he0JanNEovYaVXR2OGdolWHxIJeDHxUs7W/qYWxoavnk/DnlRr?= =?us-ascii?Q?I/r0my50yudiJR3Mb6n1RVt/ag1lN+hmd1rYtotR+ncFsmqGQYdPtzudIYvt?= =?us-ascii?Q?qqXJzVFWAb23ojJa3rGGZxGf4LyLlA/f6O6u2tTnsMOzv8V74N/4TwgH8GGF?= =?us-ascii?Q?pBb+ixp4KxVKaHbHi9k6+Lw68XSlcuYp9ikrWdZBrsO0VxEpmZNImFslGYrc?= =?us-ascii?Q?ksxZ+W2/CfnSa/o8bYQTdXLke1aw+kcPjc5Py8Y9L1nkN1NkxzhgHtdS4zA5?= =?us-ascii?Q?p7j0smUtXDhzvt2DB9o/DK09kbf5hjoPvveqv2GpU5fCp2A5Toly+o6cTjv5?= =?us-ascii?Q?uHOfmlky9Z74a3hT3HZGN4R5riphjLYid7a7PreZQ6Hb2Lgalw4dFvmH67AN?= =?us-ascii?Q?+pC3ciLz8U06QGlZk0MgmUrbYAtyMqsXt7OynSCk?= 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: DM5PR11MB1739.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bfb2dcd-92a4-411d-dc5e-08da961ef836 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Sep 2022 07:01:38.3564 (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: IQLUR6qbaMUF/hPISSA5Oz6Suj49o66i2zL6Am+2Gp7qCW1P9f9XhpaLG8VM7X4R887yoibbVrm2/7pwxp4EAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6675 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 HI Chenbo,=20 Thanks for your reply, my reply is inline. > -----Original Message----- > From: Xia, Chenbo > Sent: Wednesday, September 14, 2022 10:51 AM > To: Pei, Andy ; dev@dpdk.org > Cc: Xu, Rosen ; Huang, Wei ; Cao= , > Gang ; maxime.coquelin@redhat.com > Subject: RE: [PATCH v2 7/8] vhost: configure device when any queue is rea= dy for > BLK device >=20 > > -----Original Message----- > > From: Pei, Andy > > Sent: Thursday, September 8, 2022 1:54 PM > > To: dev@dpdk.org > > Cc: Xia, Chenbo ; Xu, Rosen > > ; Huang, Wei ; Cao, Gang > > ; maxime.coquelin@redhat.com; Huang Wei > > > > Subject: [PATCH v2 7/8] vhost: configure device when any queue is > > ready for BLK device > > > > When boot from virtio blk device, seabois in QEMU only enables one queu= e. > > To work in this scenario, vDPA BLK device back-end conf_dev when any > > queue is ready. >=20 > So this is the case only for vdpa blk, for SW vhost-blk, all queues need = to be > ready? >=20 The case I mention is that the OS image is in the vdpa device. In this case, QEMU bios (seabios) will take charge. There is a virtio drive= r in seabios. This driver only use one queue. So in this case vdpa driver need to conf_dev when one queue is ready. for SW vhost-blk, I am not sure you mean OS image is in your back-end vhost= -blk. I have not test that case. > > > > Signed-off-by: Andy Pei > > Signed-off-by: Huang Wei > > --- > > lib/vhost/vhost_user.c | 56 > > +++++++++++++++++++++++++++++++++++++++------ > > ----- > > 1 file changed, 44 insertions(+), 12 deletions(-) > > > > diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c index > > 4ad28ba..b65fba3 100644 > > --- a/lib/vhost/vhost_user.c > > +++ b/lib/vhost/vhost_user.c > > @@ -1451,6 +1451,25 @@ > > #define VIRTIO_BUILTIN_NUM_VQS_TO_BE_READY 2u > > > > static int > > +virtio_has_queue_ready(struct virtio_net *dev) { > > + struct vhost_virtqueue *vq; > > + uint32_t i, nr_vring =3D dev->nr_vring; > > + > > + if (!dev->nr_vring) > > + return 0; > > + > > + for (i =3D 0; i < nr_vring; i++) { > > + vq =3D dev->virtqueue[i]; > > + > > + if (vq_is_ready(dev, vq)) > > + return 1; > > + } > > + > > + return 0; > > +} > > + > > +static int > > virtio_is_ready(struct virtio_net *dev) { > > struct vhost_virtqueue *vq; > > @@ -3167,9 +3186,33 @@ static int is_vring_iotlb(struct virtio_net *dev= , > > if (unlock_required) > > vhost_user_unlock_all_queue_pairs(dev); > > > > - if (ret !=3D 0 || !virtio_is_ready(dev)) > > + if (ret !=3D 0) > > goto out; > > > > + 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"); > > + ret =3D -1; > > + goto out; > > + } > > + } else { > > + vdpa_type =3D RTE_VHOST_VDPA_DEVICE_TYPE_NET; > > + } > > + } > > + > > + if (!virtio_is_ready(dev)) { > > + if (vdpa_type =3D=3D RTE_VHOST_VDPA_DEVICE_TYPE_BLK) { > > + if (!virtio_has_queue_ready(dev)) > > + goto out; > > + } else { > > + goto out; > > + } > > + } > > + >=20 > I feel like if possible, above logic should all be in virtio_is_ready. >=20 Maybe I can introduce something like VIRTIO_DEV_BUILTIN_VIRTIO_NET, What do you think? > Thanks, > Chenbo >=20 > > /* > > * Virtio is now ready. If not done already, it is time > > * to notify the application it can process the rings and @@ > > -3181,20 +3224,9 @@ static int is_vring_iotlb(struct virtio_net *dev, > > dev->flags |=3D VIRTIO_DEV_RUNNING; > > } > > > > - vdpa_dev =3D dev->vdpa_dev; > > if (!vdpa_dev) > > goto out; > > > > - 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"); > > - ret =3D -1; > > - goto out; > > - } > > - } else { > > - vdpa_type =3D RTE_VHOST_VDPA_DEVICE_TYPE_NET; > > - } > > if (vdpa_type =3D=3D RTE_VHOST_VDPA_DEVICE_TYPE_BLK > > && request !=3D VHOST_USER_SET_VRING_CALL) > > goto out; > > -- > > 1.8.3.1