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 64FA6A0556; Mon, 17 Oct 2022 08:43:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 56E1A40143; Mon, 17 Oct 2022 08:43:34 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id EB3B5400D7 for ; Mon, 17 Oct 2022 08:43:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665989013; x=1697525013; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=CGDbYZzyptn3qWIUKP6/ZdgnFAJ66cS48G6t0MMIIs8=; b=MnWV9YkTRMfnOPMDLN6SEUErHhDmy18hfw61YsBPC0aGYJc/48vv8Sa5 ni5vmD02WmfQOPnMQ9/XvRopmqWeMLoOPq/xD6cx7GelpgRbanccxyJIQ +al8uVSHuTx3hFzNjFOQtrz1uM96z+tmpLerhI5yoUonSUOJwr+Fs7ygc q9Yz0OVOPWTJ5FJ7avwevshiApqrsV8hfBdF995Ax2kBBKmBWNLmdJwdx mxMyaGJxVO40xfKHjNnaIlEscDkFZYlWoWteJfmY84wMdRO0y4I28illa 3R7wmSZgTD5gMvhxsuzm7bMOPd5H39Ku2yC1YAqBZx+nBOsJ/Wg4YkVTC Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10502"; a="285447239" X-IronPort-AV: E=Sophos;i="5.95,190,1661842800"; d="scan'208";a="285447239" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Oct 2022 23:43:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10502"; a="733037021" X-IronPort-AV: E=Sophos;i="5.95,190,1661842800"; d="scan'208";a="733037021" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga002.fm.intel.com with ESMTP; 16 Oct 2022 23:43:31 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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; Sun, 16 Oct 2022 23:43:31 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) 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:43:31 -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; Sun, 16 Oct 2022 23:43:31 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.170) 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; Sun, 16 Oct 2022 23:43:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ADsMQ9mFY/GUyFW2w9rIbUPWesHBon3flggDGsD+xgdb8IX1BtXP2MSCrykYewI1I8Qgipdm4SR+6fIWGTQrfMlXl+FDI3gNJYm4lxgEFqzbAPxIldH0BsaIWA5gvOn9O1+1IAGx1Ng3NQYf4Ty0Yw5eYAGu72Udo+CDV82Znkd3GIy+JFynhFnr64+RFX6a6BLYFJh+m9dUxwkjgdCpgfCrP2TIOgE9ffOEQHlB0/7KAVIxcFAjp+Sw80QR7aOZfGdwX7elR7RibjV5NjddkqCzZocLG5QyDTpOBlNVlJ1B2P0cFpeTubLMaC0K37LklO80/l/G+fBJRoSNLBdn9Q== 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=SApcqtzO9zVFKqTUl3jPWIK5TnMk9hhPzngWh3MoKc4=; b=jGQukSa9oqK6MP3t3P0Emv7e2JD444aOIggDLn9EYmlG8AujFzTztps+2bVgFYd8hAFqxZtr25mmKH26MHufaRakCcnnXJmT4brCJyyidShn6KrwhzIVP4R/mB6e8h+PVP1p0Ka76dNXtY1Jw6VZ7wedBQgsq5MPgRXEsFlmRW8vyET7wgGwNpJHIko140iLdUBU/2nriMWjxxbaRvJIGXYFT7Bqs3+SuNoHy+MvMEcIIS9XElzqLY5Iyg85oCypmZdtgodgGGlXy/Bm9YL8yFfc95RZ9uw5zaHoNct1q+Q5RduePUhi4QicEroUUbU4890KkIqqZwszJYc0j6A5tQ== 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 PH0PR11MB4901.namprd11.prod.outlook.com (2603:10b6:510:3a::8) 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 06:43:29 +0000 Received: from DM5PR11MB1739.namprd11.prod.outlook.com ([fe80::b8d7:6a95:bf26:e4ef]) by DM5PR11MB1739.namprd11.prod.outlook.com ([fe80::b8d7:6a95:bf26:e4ef%12]) with mapi id 15.20.5723.033; Mon, 17 Oct 2022 06:43:28 +0000 From: "Pei, Andy" To: "Xia, Chenbo" , "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: AQHY3uCJ7d5dP74v1U2F59RAomHLka4SJuTQgAACmPA= Date: Mon, 17 Oct 2022 06:43:28 +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: 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_|PH0PR11MB4901:EE_ x-ms-office365-filtering-correlation-id: 3369f03a-ce68-4bbf-a35c-08dab00ae601 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nmJL8HqBDzdiPKZlXp8C1RdwWkjJtfBSXu0psgZxiEOTXZakuWJwzOR2fhjp8tjk+jgqY+8JErOGulceNbR1UdB0yacNqELU/kBNr0jYbS7DTgykk/kDV/tMb7gIATsy4/+7dYJGq0MXyYETuRXiTCTKprqqTgh0FwVamzmxR7pIhw3X3+P7lkumSEXX59gOQZCaLMnfa/kSLjyeuCBAJ/KImvUIxmZDseVodBAEYGPFReH23dnJggKXnClJ5XgCnhMuIzytgjIjcTQgkSlo4hl2JsGwtrlsg5yBMPZIiqs5V3kMRsnKyFrhmdbUsFLZ0NiQIFV2IvTPqjDqkrrGT+9bZTPxOLMO9W3k0okmUqL7Vtp87K8O37ZcHnO+r6s3YdLDofghZFCKfK2OGm5HdC7Gf0V7AzBgnsO7T93s/wPNGD1+3ZLYJ2neJCERWExukSGlKAGPQZ1DjLxG4CmQHeQxrmoUv8Sl3pGeVYJob3bCUJGzYO+rD6Y0VQyOEtPCm9ulfQaJ5mwv0E+bWrSlyNQwzuVmkNmBE3OkvZ9ddVDnWUEhBSRx+zPY4z8+knlRnlrL2Jz2qUlEMI+LXL26QdQoMsuqByfLfTpsrxV4qn6nbNsh7Hfltm7eCMglfjUVnMEkIKK1b/DKDZSWFbK5OyM5rsartpQAEDzBf/4A6lgmB+kdl+c+fpYGv44IKKsmHWMluWXLpIuIF6jr4M+omxIlzXnwUbpL8INaOdXbS+E/eaZK9PxcJjKmulBQDW390tekgk/nIbdz4BTjvn6tkQ== 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)(396003)(39860400002)(136003)(346002)(376002)(451199015)(38100700002)(52536014)(8936002)(5660300002)(82960400001)(122000001)(83380400001)(33656002)(86362001)(38070700005)(26005)(9686003)(110136005)(54906003)(186003)(478600001)(55016003)(71200400001)(316002)(4326008)(76116006)(66946007)(66556008)(66476007)(66446008)(64756008)(53546011)(41300700001)(8676002)(7696005)(6506007)(2906002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?5cTUx8q8w+Gyfazsr9K/G0UYEcoG7tidmoICa7DwmPF4RCx2RziVEIUzQPuJ?= =?us-ascii?Q?6QrwcJXJD8HCqDR6ME58X39K835iBv8QKcuJvKtrF4HbME2rhF7lAiKELxO7?= =?us-ascii?Q?+staqmHUbIwETOQXg46eNeUeMUHt56NRpTgOpmzAyvAFvjJzRw+dYU/HMnZY?= =?us-ascii?Q?sEneljMieCyhaoY6WZD6HRosjLcPFvjw8u5q0NN7KMyAa0do6F8ghCxTEaaF?= =?us-ascii?Q?cshVArCuSaILdiWcMiKTjwEWv7fA3ynzt1GQ2r2f7S+9OUVzu9hxBrcexGqx?= =?us-ascii?Q?sC5PdpJ2ZDThewe5VoVGkxVfPZ7Uh4d4QJRM6G9sZc2LbJZXd6iJck0+V3On?= =?us-ascii?Q?4dihizSfZFnXX4vZIcCuKFH2R1iEpqgem4fyHjzRnmlZflD4aOqGeERAuALA?= =?us-ascii?Q?fkPqB9/XDRwPEJwsYXw1XGVe7M9Y4EOApDfeLbkcr+nIDXussTb3TGlFnkSG?= =?us-ascii?Q?ONDDGRYoOkyzgvdHVAMR7ItWxpOZXsB+JM8tiDTx6xB98KjGoPKSM6Wl9JGV?= =?us-ascii?Q?Ss3D9Z1SHyaZyBKg/Z6hQnRsqCp7dt5MI4xnsjc/jEEujJYn35BdYINRxUqn?= =?us-ascii?Q?uQjFdQsZGZOifWtAMudStBTnKq1XGP7l0UumOoO8M6+imSZNEXvCRL/NDFuo?= =?us-ascii?Q?duOJA0sfafIw/Cq61Bhw7HVwM0H65rf7Oy9J62Op9zEp3+7OjXkAapYxB485?= =?us-ascii?Q?9nRSLN/2nsoX+JQ0NHA7ZWjpSiVfNWWmaCh/TnIRfyL+9P5bWn8FY8pN/kOS?= =?us-ascii?Q?cbRpRPFwHsEH9nX7j5cNk3UTxKSXD8ts637DH1UzG+TiwEYe/IN8epbi60wT?= =?us-ascii?Q?xQ8pk07K7fccnxM3n8ileVFsK2oZJGhwo5smE48BopvLyXMpYSGQytx9gJOv?= =?us-ascii?Q?SF5EgT3tkvIz22v+I86jcvaovEx+MXKnfkX7eYFWbYNSyUZBPxU/RtUzVnLM?= =?us-ascii?Q?C03PKGMgXijveDwh2fwNjxvIpuTpPY7+pWplO7Ez/OJI8Bm/qQhimhaYfabs?= =?us-ascii?Q?zDT1h6gDnuXkwSEA4kC5p4jwRZGmS3uQNkdg0ozJB1t16CA3XjaYqiWDFs1p?= =?us-ascii?Q?8MBhWhV5ff6E2cbGaRp+K38lQxnaFdKUBQqU8kgK+UCbRXAPcdABLaskwWST?= =?us-ascii?Q?n8TaByo2isqJAi897uum/Z02pWeNMQ3G+OryzEw2r9KedJNkQb/S6rtOMXvN?= =?us-ascii?Q?NhJCqGoRtvuRkoHU9MWdSkSRKLLRiSYkdXxU316enudUbQ5KcR/7IFUoLY7/?= =?us-ascii?Q?9LFBCcPVSp6dxJwjolUvaFasrfs0Sk1Uc3BvEwy2mnGU+m12EI+/5jimwDrw?= =?us-ascii?Q?atV4veo04MOYadaGtgTU5MHzRjW7/Ywa3XA/FUp4uAy7sZsAPfoRp4VXIawz?= =?us-ascii?Q?ymSpoa70vTawHD5wRjNQse9BHEylGMzf+BaCT5G85evy4VDr5KnegZQz5FNy?= =?us-ascii?Q?yF2eJoLGI45eScQ4PSxoySltn3l10d2BAYhtaSPg+/zggnizZQrz9QAZzzXA?= =?us-ascii?Q?1IuqbNti9LwMfo/FbfvOMU36rF+FeLO+ZU0QhWdfZ9R2AQcqJ0JI3KwIG04Q?= =?us-ascii?Q?VEwQpG15fs7v5trj+07DEdMPekhIuqX5eOLEMs2p?= 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: 3369f03a-ce68-4bbf-a35c-08dab00ae601 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2022 06:43:28.0906 (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: HavNZY/CtnlxLkeGItbMVEbd6ZZpU5CYS17k7XGUb8kMCbB3iMDlH7HQnJl0EzRgAmMwut3TUKMGZKqJCsdNqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4901 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, Thanks for your efforts, my reply is inline. > -----Original Message----- > From: Xia, Chenbo > Sent: Monday, October 17, 2022 2:34 PM > 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 >=20 > > -----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 >=20 > This title does not match to the code. You mean first queue? >=20 Yes, I think I can make the title the first queue. > > > > When boot from virtio blk device, seabios in QEMU only enables one queu= e. > > To work in this scenario, vDPA BLK device back-end configure device > > when any queue is ready. > > > > Signed-off-by: Andy Pei > > Signed-off-by: Huang Wei > > --- > > lib/vhost/vhost_user.c | 49 > > ++++++++++++++++++++++++++++++--------------- > > ---- > > 1 file changed, 30 insertions(+), 19 deletions(-) > > > > 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 @@ > > } > > > > #define VIRTIO_BUILTIN_NUM_VQS_TO_BE_READY 2u > > +#define VIRTIO_BLK_NUM_VQS_TO_BE_READY 1u > > > > static int > > -virtio_is_ready(struct virtio_net *dev) > > +virtio_is_ready(struct virtio_net *dev, uint32_t vdpa_type) >=20 > I agree with Maxime's v3 comment. We don't need a new parameter. >=20 OK, I will send a new version to fix this. > Thanks, > Chenbo >=20 > > { > > struct vhost_virtqueue *vq; > > uint32_t i, nr_vring =3D dev->nr_vring; @@ -1454,13 +1455,16 @@ > > if (!dev->nr_vring) > > return 0; > > > > - 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; > > } > > > > + if (dev->nr_vring < nr_vring) > > + return 0; > > + > > for (i =3D 0; i < nr_vring; i++) { > > vq =3D dev->virtqueue[i]; > > > > @@ -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; > > > > @@ -3152,7 +3156,25 @@ 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, vdpa_type)) > > goto out; > > > > /* > > @@ -3166,20 +3188,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