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 DB41BA0547; Wed, 12 Oct 2022 11:09:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CD96A42F3C; Wed, 12 Oct 2022 11:09:21 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id A635942D86 for ; Wed, 12 Oct 2022 11:09:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665565760; x=1697101760; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=+f9sOzHmumTY1TnohI3/nb48WAlCMGPLwak+HzZKSJo=; b=NaLfouFoc1t9F6nztotsktDWfv7AQBOnN4/Rq+5V9zZAN+an/VbfR7oV rCD/C3aga80fwTjnTt9hHpVSAdWcXs5Nb2g6aefLjbcNLUdtYbRfPI/hz 3tsmobtTxNrHUEtqK1+/SkegbtA1rIwCcx33ivv04VYoAwdKeQz0n41R4 vj9QlE2okmEEr6yrMeBApJjaVMcrYy9PCD/j2UfWoEzD/Z2c+Hhe1ICAO JoskZRiaa7lMa0ZpsoCs93uLAZ5hYgmkLuOiTg+Z+WSq0bQp3Mf07Uull PYYmb13Zyz5FDAqaX8K4I8ubb+HxMYSHq5MHDdAtJkL0kHL94/P7y2XOs w==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="292067899" X-IronPort-AV: E=Sophos;i="5.95,178,1661842800"; d="scan'208";a="292067899" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Oct 2022 02:09:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="752062863" X-IronPort-AV: E=Sophos;i="5.95,178,1661842800"; d="scan'208";a="752062863" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga004.jf.intel.com with ESMTP; 12 Oct 2022 02:09:19 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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, 12 Oct 2022 02:09:19 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 12 Oct 2022 02:09:18 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx612.amr.corp.intel.com (10.18.126.92) 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, 12 Oct 2022 02:09:18 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Wed, 12 Oct 2022 02:09:18 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IMCLaLkn6K7NU1L8yrA2ZM9T5eehy5ugwqfsnXo8IqLLGYyof3jq48zWvTdBJgvn1qcsMfMbB/8ICfiRhrAAE1aViYu0z9JHg1SFKztQeG7w7KwRzXFwnQQ4BLV5z+xEXcL7hhmovtGW5KflVZmosIGTnKIE+HHczlusaZRUWS8K+TeTB28ObUWLgbMfSsZ46B9VusR+/OBSh1LPIRTRySOKOgBb5nweEz06ZCzjpYImJhbTk5oAZlPoOhN8Tf6UTpDJ+looWZ/m4bQMxKGYN2yO248U1tsG+XrWzeJhImmxrTy1ChFLGIDWn2qzKKANz4r4U6e+SuodlkZVwB0FLA== 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=1crEkppJrVtGu3vY+RIErObMAFdU1RydMydydmLk4ac=; b=B+Br61/hD+Su4mtWnWHyqHSlDyufUquOUkGqCgr0YZO9z83kob5H9N4b+GgHLdp1G3aKTcN6zl7ImZdtdHsBKUB9gzjRfkMMyKDY5knYOd/5KZM1ifLJ5VnbT26VcxGSa5x/kMgw1qTAPqhrI67zyYMlrecCQrzfrh+VIT/9pUZ/67ZfEYTvvUUzraXSKcZso56w/8b4bC9YLVZbcxtLkiECoTJzAThrgpPqgVRU8dt5hpymr/+o11KdbfxkFK013n6KAzZYsIwPFHN8XIvYGfDS6puN8IrNsBSj/IHbH0N4eA24pPz9ic7XOULXsy3XwRRQNoi3g9YOE+ylsuxh3g== 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 BL1PR11MB5365.namprd11.prod.outlook.com (2603:10b6:208:308::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.24; Wed, 12 Oct 2022 09:09:17 +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.5709.022; Wed, 12 Oct 2022 09:09:16 +0000 From: "Xia, Chenbo" To: "Pei, Andy" , "dev@dpdk.org" CC: "Xu, Rosen" , "Huang, Wei" , "Cao, Gang" , "maxime.coquelin@redhat.com" Subject: RE: [PATCH v3 7/8] vhost: vDPA blk device gets ready when any queue is ready Thread-Topic: [PATCH v3 7/8] vhost: vDPA blk device gets ready when any queue is ready Thread-Index: AQHYyZPwg5jqSf63gUuaLZ7O5PLL0a4KljxA Date: Wed, 12 Oct 2022 09:09:16 +0000 Message-ID: References: <1661229305-240952-2-git-send-email-andy.pei@intel.com> <1663308990-621-1-git-send-email-andy.pei@intel.com> <1663308990-621-8-git-send-email-andy.pei@intel.com> In-Reply-To: <1663308990-621-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_|BL1PR11MB5365:EE_ x-ms-office365-filtering-correlation-id: 864f578a-6172-488d-9fc1-08daac31708c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MKwBlWizBJbvKFzN6aa3It2vSP6p3goDgjePBV65evStoidhNIqcuxT/k11j+ynBL3crpvtHlskXU2xmwr07ega23f5WNXxJJ6j2x//Q8AZDjoQaVKUlmNG9OrMIvp6Mcc5tr5tL5ahuZb5T38hH+gKyrPZuokN/i6yyuDwC5mGDh3W9kkSEB3d52sy7T/rr0h8uysc3XmSmFY2sr+9tzKKT6IXVVrL1A4J5qhCfkeVX2egCX+Eg3JU0tmdmLLk8Wdxet/PwDdKXEdYvmWNyFEI9aY5gR+xmmtZZDQ8m28+itk8B9RuYHI/EqGpngDrT8eWn7TGxRNZTb+WYcE7FTsnNUA9vIVl8MfGqeoswXRR38p2stDnmCKeGLGt4C7oYLdFzmNR/0MDbSxgZeqFKTWL/fKgXnouQd8R/kEHALRt2c4A8LF6eFQrNP3jgnui2jLpL8Ep4JgvmfcMyyZcfqc0BQURkwg9eNzifqHvW4P8QD1UMyYJ0OashtpUt13pN0k2Cg7K90LoPZLQQ+fOWrkYVIwioPIuPFuH5deIRJZ8kxup6MWC7uarI4MGiXeUd2+Dwj2vT6R1e4Od4rCVSCZ9SPVfjKGaXbZP76aFIAIIUbR02yoPbkxQbnTEXE57ozAdEDUwbP90rrGjiJtrRr8SECIUdKuG/QBiyqVCjYVA96gSQW7JZyD95+3UbjFlAaeKHHBKaXH69Xeon0TokHfCJ5kEGtkr/HsrriE6/VKHGFVD6juVGLuQQdmDuC1LZc8ziNkSmzfmv60RytE5vJg== 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)(396003)(346002)(376002)(39860400002)(366004)(136003)(451199015)(38100700002)(5660300002)(26005)(33656002)(55016003)(186003)(64756008)(122000001)(82960400001)(4326008)(86362001)(66946007)(38070700005)(66556008)(66446008)(6506007)(41300700001)(66476007)(7696005)(8936002)(53546011)(76116006)(8676002)(316002)(71200400001)(9686003)(52536014)(110136005)(54906003)(478600001)(83380400001)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?8lz9UYsJzR3YjymRCTJlIAqxussO6ZeN+SQMzAqXbVbQlAFfVTL2C/rUF2K8?= =?us-ascii?Q?BIMk+Oixp7udgbca9BEzVhAJL0K05SP8hSYL/3NqLwMCvXdWlzy6ywhJoppm?= =?us-ascii?Q?7kABPp9ZeahmY6HO7y/y8Oy6RaYf1PFdu9aJWEfF9dJA6T7KROjkD4iHm7Ne?= =?us-ascii?Q?jRPIx2N9gz0XNctOip8mhbA2jnfJnnjH2QpK5f5PbDmMsSYlp2QGW/RXoCf+?= =?us-ascii?Q?NRKZdXnH7J9U3ejgCLno7qbVS3Z0NqkqX9N1uRJJzxfCSJHBAZuVML3bTRcb?= =?us-ascii?Q?beVxY29R0ZH7jJWH9hV9nDZJBYikc4aV7FzBjSzUchdjj9fa3tfKu+qWb+Ck?= =?us-ascii?Q?EkRl+Wg6Vc4NxWf2LRXYsyzKH1JoaW13YqAWBucHwOMdgNJm4E/goshcLv0B?= =?us-ascii?Q?bKGaDkNe7t8DwQtlRB69Y3zrHtmaZeBDFSUT/ZmE1u7za7IN9UiA4aLkN7JT?= =?us-ascii?Q?yyZRW1USYs2LSaHCVJcd+JAu455Q6cj+bz5anxoiHCl5HIE69mAyadZRf7Sy?= =?us-ascii?Q?erFBFKaipIoEVCkTdtbZt1EYiknizTrX2++Xa9EnamXRYn0gaOeNPMD9+8xf?= =?us-ascii?Q?jgapYnUvsYEpAwZGhW29nFdfu1Tgw+hehqF8fhdl/Iql+UjeN++rlGbJkSRN?= =?us-ascii?Q?+++jyzKPj6JvqHTpfy8tS7XvAbi38vuz+Ltw8abjqM/9QwYeVi/kA/BSfQ9I?= =?us-ascii?Q?LyjKJPswHysRql9b0HEUyjAS18DWl75JygvRGNW9rrAEBvW165+m23OAm+uE?= =?us-ascii?Q?wbzM1bIi66FJzdy31DOIdeOm1C2b+8/wZvYm7jAyMjQvI0eMfFyhCj3b3XKV?= =?us-ascii?Q?7s4bM1hyYJO2qHKpjE6eL2Vue1uiJdWk2KBId61gOqvhUesv2A2nRK5XDAbb?= =?us-ascii?Q?F+S6zQ7wC5+IWvT804XcOmxNzSRw3ROMS+QnwhU6XJ4PffqDsNL7P3lOftFG?= =?us-ascii?Q?jFlMGKHtQzFJHU4xhlUdvVOHku4nvf55uB2oeC+9uV0FnBOjCiNrXAxACAYD?= =?us-ascii?Q?zPHCc6dNZ6gq9NCFimE8864c7Zh+Ac+qmXjyYuW2YH3u7dd9nrYvjtdl7BKE?= =?us-ascii?Q?60yDORdrUp5TAcY/7OmEZ1TzkK3kp3RnOiHUKGZ75yq49Jz4sbGNXu/YS4Vd?= =?us-ascii?Q?akerNYEeNhl1fzez2fHB2Di71wwrxje46XlI1jUmGED12xpjQgvinFFjt5EI?= =?us-ascii?Q?b4/dG9/tXEc58JrL+0J4MZKeOnq/rwI1sgZTonMF6BuwHnwfNPuE9dEBE2WZ?= =?us-ascii?Q?cPmNOl6PLEITw+lyaq8YXMOQFF+Frs5Pp51jNy4NIilst4di1h+EH2LiIsS3?= =?us-ascii?Q?X7TUTCTnG+0/e4GRDzfjlK1jp/bUcvyqUIDiCX/Ed3KURPBaPsD8WiDinrkb?= =?us-ascii?Q?v8jm4i1UzcOLqbYEjjhhTDQUQb+L267zSpdkpZdMmdYJr5ysO5R5Mj4CB+b4?= =?us-ascii?Q?bsfylR5oNaOwkSE6+fCiMNHLjSsz83n7aPj037JUrtoFFWQzwushVCF2WCPr?= =?us-ascii?Q?giS0kx9hRrgC45mr4mkysD04HwYO0TvbqOHTi+nzF/3j0qstKen4iHl//pHq?= =?us-ascii?Q?DtbR135hJHnWulmH68hN4Ol2ZjEReOZ/WhH+fC9f?= 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: 864f578a-6172-488d-9fc1-08daac31708c X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2022 09:09:16.7829 (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: JPrsenpa2lM+GoS1h2iZdwLObe15QspL43TdW/z2Q9ySjvkpdCMQZSUyM4ridqhHeTNP+3iGGNEEsMv43trbww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR11MB5365 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: Friday, September 16, 2022 2:16 PM > To: dev@dpdk.org > Cc: Xia, Chenbo ; Xu, Rosen ; > Huang, Wei ; Cao, Gang ; > maxime.coquelin@redhat.com > Subject: [PATCH v3 7/8] vhost: vDPA blk device gets ready when any 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 conf_dev when any What is conf_dev? > queue is ready. >=20 > Signed-off-by: Andy Pei > Signed-off-by: Huang Wei > --- > lib/vhost/vhost_user.c | 51 ++++++++++++++++++++++++++++++++------------= - > ----- > 1 file changed, 33 insertions(+), 18 deletions(-) >=20 > diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c > index 4ad28ba..9169cf5 100644 > --- a/lib/vhost/vhost_user.c > +++ b/lib/vhost/vhost_user.c > @@ -1449,9 +1449,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) > { > struct vhost_virtqueue *vq; > uint32_t i, nr_vring =3D dev->nr_vring; > @@ -1462,13 +1463,20 @@ > 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_NET) { > + if (dev->flags & VIRTIO_DEV_BUILTIN_VIRTIO_NET) > + nr_vring =3D VIRTIO_BUILTIN_NUM_VQS_TO_BE_READY; > + } else { > + /* > + * vdpa_type =3D=3D RTE_VHOST_VDPA_DEVICE_TYPE_BLK > + * is the only case currently > + */ > + nr_vring =3D VIRTIO_BLK_NUM_VQS_TO_BE_READY; You should consider the case when vdpa device is not there. Maybe you can use int for vdpa_type, -1 for non-vdpa. Also note that below check is only needed for some cases. Thanks, Chenbo > } >=20 > + if (dev->nr_vring < nr_vring) > + return 0; > + > for (i =3D 0; i < nr_vring; i++) { > vq =3D dev->virtqueue[i]; >=20 > @@ -3167,7 +3175,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 > /* > @@ -3181,20 +3207,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