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 E6C03A0556; Mon, 17 Oct 2022 08:35:14 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 905FD4021D; Mon, 17 Oct 2022 08:35:14 +0200 (CEST) Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 4E5EE400D7 for ; Mon, 17 Oct 2022 08:35:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665988512; x=1697524512; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=XGg4twVKHuiQUuI1RDX0cYL5l2WKljCNrhs03ypqAco=; b=Kb0RjNYipEEIFaD76YKjarG/ytpJ0cUtFOkWt1xxXlu9+iANFMOwIQ7w p0Hg+AYi6IilnSL8viU5tq+7LCqkiREV6ORHyKxaxhSkqxLf1CXkpYlk+ A/JheKOHZVMXaUJZ56u1zfrKLSKsXe75vIsoxTDppq9JaQT83yZRQ0Mjc ORrXE0i1DLfkZ04o+OWiifRVYScjuJjda6RRmgTMa/DXiijjG7J7kBK1H 5nnecl5RDA1A7+HEP2XUCjbH8sQH1GBeKLk06ciwM5NFtXFbT2OazLOo1 0geYqcEjBJrL0V/1iOc17EONN0lsKHssJPbRTTh6qMdK6nnQk1GYHloMQ A==; X-IronPort-AV: E=McAfee;i="6500,9779,10502"; a="367744313" X-IronPort-AV: E=Sophos;i="5.95,190,1661842800"; d="scan'208";a="367744313" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Oct 2022 23:34:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10502"; a="696937224" X-IronPort-AV: E=Sophos;i="5.95,190,1661842800"; d="scan'208";a="696937224" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga004.fm.intel.com with ESMTP; 16 Oct 2022 23:34:10 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sun, 16 Oct 2022 23:34:10 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Sun, 16 Oct 2022 23:34:10 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.47) 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; Sun, 16 Oct 2022 23:34:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aRggSIam3DZ3QbQjTc/9GylbtselzBmjxWE739NXkV4lRfu3srMqpym5Lu7p6IPRABfw1hoaGLf11IZpUn9a0rOsGPoFu8r4nud93nrTI0dCTY1jKx5envhQnq0Pe0k0s/YlAHNq3/PqIQnOg6X9PQDJ8dWwkLCdrCS3WKg8QWyiSPZiWQKKLyBOU47uu5xo6OYvv9btxafrkWHa23atMyJ8mYVsW67SApVdDh15K1nrDjqyZ+ik3TqmYeKHtV4OUe/OiRBtHUvxp9RaXiCTMmQwnyMoR/nHIZR3xh7jKIv8+B1iB5Qak8ubUv4R5qqgxt8vok5HSB4K9VZSQI6zhA== 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=37wSzyc103d0L/jveYzgXXQtBet814wpVqx9lSoGRjo=; b=CF/ufP44yAEFvX/mh3m5YtQ+VBxXWsdkYj4AhG0kPcmQy9jx9i22jA9C0/OdlspJUMpVkfmIxN7HMPCcaGWVN5AbsN2R+wQy7l87Y2QhrrOpmi9c2w2yHSfnsoikY1VVkgRvdFfUGw1YpqlKKA1otjUURc09EPQDpoaiBXvLRmQ0O4J3kTffI6mAACc/X3AiFb3pcr1/0S6T4CA0nEd3qktHrsqSNFJycmBbN50ba49yCoFw20Il2D5PKs2nBNpPtQh3B4H/UxGXnM8T6wffDUoPxhJfQxoHLVpkaGeZjwo4A4iLvWjhis9KpWzoMKHewCSd5OYQZ65a4NKPFUjQMA== 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 CO1PR11MB4913.namprd11.prod.outlook.com (2603:10b6:303:9f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.29; Mon, 17 Oct 2022 06:34:08 +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 06:34:08 +0000 From: "Xia, Chenbo" To: "Pei, Andy" , "dev@dpdk.org" CC: "Xu, Rosen" , "Huang, Wei" , "Cao, Gang" , "maxime.coquelin@redhat.com" Subject: RE: [PATCH v4 7/8] vhost: vDPA blk device gets ready when any queue is ready Thread-Topic: [PATCH v4 7/8] vhost: vDPA blk device gets ready when any queue is ready Thread-Index: AQHY3uCJ7d5dP74v1U2F59RAomHLka4SJuTQ Date: Mon, 17 Oct 2022 06:34:08 +0000 Message-ID: References: <1661229305-240952-2-git-send-email-andy.pei@intel.com> <1665650674-291949-1-git-send-email-andy.pei@intel.com> <1665650674-291949-8-git-send-email-andy.pei@intel.com> In-Reply-To: <1665650674-291949-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: 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_|CO1PR11MB4913:EE_ x-ms-office365-filtering-correlation-id: a7d1ac60-fd9a-4d32-68f1-08dab0099858 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AejvFmoTngIQuwZedfPck2abP8A3I5Fx4OLrzSOXB/osExcRstYnupOi4eW2Isra0wrItr+Or2bm5M1hXCoVzj/h9jWo0B5yvQgCTR+9wUdt0Of5VYYJXvsKv+9RoPiQx9v9s+jh7bOtqVwIxq68ur2Z5OeAa9TRQbh/KqSh1gXcJuXTtLm/WqHAJhqL2hICyWEqyGVziOd7ptPHoHXsxgGzO/gqbqyPfqOLNs/ov34VEdZJTGpMYJMNuDUa/FTfqF065CZzrzHR8jhry3YBG+4spKkJotBfHgVIvRRi2U974j6D5Cce6XTi8s4nXtBVmEGLcDSbDNVa8yBFudyudOsKIrShjzyCMcTvXK82UWJaGMs+biWP4y4zJwbKTAtaJOU6JCRwN2AW7/8fMaC8b04m4DdAJAuPyO6ArtXrPmC3VEVfv6vqyJIV/f6OjmMv7h71SBzlgrWGNLaupOzJuN0KdpM2T8MOO6AEKMTJnwKFypNWrX/ToaulCrpynlIQC1PcR/t84HjcOHMgYNd7DSYqua6kig6uO6KekY/OwQcTc4KLCccVoVhO49YJeo3rbnm+s3/7k7/OFYcQqlp5IOBdllg45p++ZtxBukzD6XFM0QU8Nws4NeAKE4cazUyVyQJEeEGi23PixCvuvCg8eR/jkumWu3wb3OrRR/mWppE6te72KDiLCepm1v2uYdzqLU0p201pq5joZUdosp/COoBVKYpiTsQqq6CAAG6hE8o4i/WF5QC/dm+GtGiW7Maj/XO5fs/ULMDs5NhwzuG3iw== 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)(346002)(396003)(39860400002)(376002)(136003)(366004)(451199015)(38100700002)(8936002)(52536014)(5660300002)(82960400001)(122000001)(83380400001)(33656002)(86362001)(38070700005)(26005)(9686003)(110136005)(54906003)(186003)(55016003)(478600001)(71200400001)(316002)(4326008)(76116006)(66946007)(66556008)(66476007)(66446008)(64756008)(41300700001)(8676002)(53546011)(7696005)(6506007)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?xlMZx1yVgK/9hjj0K6H7jchhsNfx3WZAY+crX8Ety9OI/g/CK6zAdq4bgeXy?= =?us-ascii?Q?7yEbvNPmt80LDroiX6DTQ0xRLt7R2tt0uzeoZJcrxA+ApDNvjgsxfVHMmMTD?= =?us-ascii?Q?sy95qz+FfdF4HiN/IGJa7va0KYirhi4gVOTYCusdS+7PmJqXV5kRiac8hCQN?= =?us-ascii?Q?Ow0H+b4LLMuqb886S1juQ3qkgYr5YnMgruvQHZ2Tl1bORg4b9G+F5P6l+TdL?= =?us-ascii?Q?HjB6pm5+MGF1OIsRP6mDjroInXUtDs46yQdhxQp25jr+MyPh6kk+ChjL0yQK?= =?us-ascii?Q?z+JB5PBB1/B+IFY8KUVwhu/phX6DrLutECOWt+PNJ09E7jD3kld6bTtih1Qw?= =?us-ascii?Q?MmcosLQlCHXSASVU2/C9TmxZWm0ZGCc5sKWZ1th8xZ5IMfchqiZUmtwgnSu+?= =?us-ascii?Q?kZWoPlSdAdfXuJzbvNynzxoDX56TwYNnvHykHuEaiTqupG5/qIPxUUhhgMnN?= =?us-ascii?Q?VnWhpO6Hq2xb03KLIkGzJyZtuz6OvKALGUiiuEU3xeKegO0tXM0JzxMk6xWr?= =?us-ascii?Q?QBzYv1OpKPv1n6IDt+XN/s1ITuTPnecLKF3sYAodpE28AKrRIf0E/MiZtRxC?= =?us-ascii?Q?gpkb1bnsieOGNnBm60XGDxNfl0/QZzzGGDRGZddJe6YTtG0RnTQDT63Ts9HI?= =?us-ascii?Q?uqdVdMXHt6TbEtX9PmjkYEVG0K2kvDbFESoz27aZsD9rE+muFxesyxYXQxFY?= =?us-ascii?Q?fVHscWrFq3pahFjkWOkI9/AK/XdoC3Qd6+KXRw+bdeqXUMrrtJlHrbGMe+Dm?= =?us-ascii?Q?Rm8VTyAHMevmehuBXp7TRIJR5SwXDHm/fMjZc+Fs4gZthARglZgcXbYZ94Mh?= =?us-ascii?Q?o2EfZvtwEQjL6oGQQsE0aBVClnpkHRFsGDN7Rosf9ujbaOxHLfq9LRES8msv?= =?us-ascii?Q?ZKhHRXaLIzYAIUJSZsT1UWqYIwJqo3xJQARwbB5eNlZSvsJejPDu83hUFWWY?= =?us-ascii?Q?1B7CX3f0GfhhgjCYZG9elEX6rzsXnHYmJ+7ttIVS6Zt4gY8mkJv5OfvV51cB?= =?us-ascii?Q?4zZ3cq+djxYFSV8+Gj6k/Q6qjx5zOmT39NsBPkqeDw4UIVYGFcCodOzODoSU?= =?us-ascii?Q?4kVf3SXzy+os6/rt2DU77OW5/3UJikOHlZWbm5D4yEn0v4NlPr3Xo7BAwE/b?= =?us-ascii?Q?f0wfOyDv+LwYedsmgRXtWHRxuLAZSMbeRO1/dXbmyBJQ65/CFFF/HXueNNY9?= =?us-ascii?Q?KZ+Q1KPpB9+csMrBBDPcUVE9ITeVfS/pGC11SIQpQsecUwoEJDUC9D0CiUGk?= =?us-ascii?Q?L+oUjALYmjp2Xh9wqesToUHNjQ3ihtVmq9Ye+wp7qrCt7B+Ck808VCyEQ+vb?= =?us-ascii?Q?U3AcAXqhkYO+Pd1hR721BsIEBaE/Pz61lKcP3bbOMHVtyEOvxkdXi8qMEnU7?= =?us-ascii?Q?nZbXqsEfwjLeQxTQ22w1Lw7t5yiZVr3kGGRRjgYLa/iqEbOokZW5By+yU4HG?= =?us-ascii?Q?rWA5yYDY97xlkpOLD0BifPszPNBX1Rd3caHJuARAxO5jvEeTFiuJ5C0G+cMH?= =?us-ascii?Q?dO2yl9hwH3p5wQgkUiVQ12PX8Ukw0JoVTdqX+YQhKwwh088q9NayGYq8X5zk?= =?us-ascii?Q?CTwqX7HAnOQ6oFQ599XFQ6QRP+Q79iWeMDOohqbJ?= 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: a7d1ac60-fd9a-4d32-68f1-08dab0099858 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2022 06:34:08.3002 (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: lbhwohE3O6S84CkjLkaLd2onbC9JcnJanCFUqDyFjza29afNUH199IY/lHHE0+RoI69yNDIQ0dwvEGQun4vPZg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4913 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: Thursday, October 13, 2022 4:45 PM > To: dev@dpdk.org > Cc: Xia, Chenbo ; Xu, Rosen ; > Huang, Wei ; Cao, Gang ; > maxime.coquelin@redhat.com > Subject: [PATCH v4 7/8] vhost: vDPA blk device gets ready when any queue > is ready This title does not match to the code. You mean first queue? >=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 | 49 ++++++++++++++++++++++++++++++--------------= - > ---- > 1 file changed, 30 insertions(+), 19 deletions(-) >=20 > diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c > index cd65257..0509025 100644 > --- a/lib/vhost/vhost_user.c > +++ b/lib/vhost/vhost_user.c > @@ -1441,9 +1441,10 @@ > } >=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) > +virtio_is_ready(struct virtio_net *dev, uint32_t vdpa_type) I agree with Maxime's v3 comment. We don't need a new parameter. Thanks, Chenbo > { > struct vhost_virtqueue *vq; > uint32_t i, nr_vring =3D dev->nr_vring; > @@ -1454,13 +1455,16 @@ > 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; > - > - 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 > @@ -2958,7 +2962,7 @@ static int is_vring_iotlb(struct virtio_net *dev, > int ret; > int unlock_required =3D 0; > bool handled; > - uint32_t vdpa_type =3D 0; > + uint32_t vdpa_type =3D -1; > uint32_t request; > uint32_t i; >=20 > @@ -3152,7 +3156,25 @@ static int is_vring_iotlb(struct virtio_net *dev, > if (unlock_required) > vhost_user_unlock_all_queue_pairs(dev); >=20 > - 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, vdpa_type)) > goto out; >=20 > /* > @@ -3166,20 +3188,9 @@ static int is_vring_iotlb(struct virtio_net *dev, > dev->flags |=3D VIRTIO_DEV_RUNNING; > } >=20 > - vdpa_dev =3D dev->vdpa_dev; > if (!vdpa_dev) > goto out; >=20 > - 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