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 8716C42504; Wed, 6 Sep 2023 04:34:02 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7F29B406B7; Wed, 6 Sep 2023 04:34:02 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 0374A4029E for ; Wed, 6 Sep 2023 04:33:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1693967640; x=1725503640; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=a1T5+duEXyHx0+gbVit4CLd2iQnQ3jPAzI8xlvIjZPk=; b=LoiE+hZv3afvQ5lckluUMIB/yo7lPhPhsbMQcjgVLE4QjwtjIggjYY7G b5D1rUFeVw7MOHcdc6RMraNeoLZvA3sqvkvUHPpE3fS1c3yV5Ad720gfS Tlog/PQJr+JUdVaovXwQVbyvJbO0/tpYQR7VK/JThmNxIDk8RGVU6j7jQ maRmtXEtMpXsG/mGin/NxM6dgylEJASK83QjydIT7j8HIZqGR6kV5jDDd UvrxRk8hKECtO2esOqdmAx1fNclam34fjIHpshV6OheaF/p+1JQOCrh2R LVtjnLvSvaiMtJ//LJiuGQ9uE0qyGEcoA8ty2mtUrroPOccoguqWeQzqd w==; X-IronPort-AV: E=McAfee;i="6600,9927,10824"; a="379668128" X-IronPort-AV: E=Sophos;i="6.02,230,1688454000"; d="scan'208";a="379668128" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Sep 2023 19:33:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10824"; a="856232955" X-IronPort-AV: E=Sophos;i="6.02,230,1688454000"; d="scan'208";a="856232955" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga002.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 05 Sep 2023 19:33:58 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.2507.27; Tue, 5 Sep 2023 19:33:57 -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.2507.27 via Frontend Transport; Tue, 5 Sep 2023 19:33:57 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.174) 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.2507.27; Tue, 5 Sep 2023 19:33:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C1C5pJWZkwq/7dLhIGkZRBYVLZdnTQ6KLJMNWB4u/pl/SbX+b8pZWEpd/1NQoSQTgMn8uuAoSajZNGw3gUPvQGvEDj7JxIE8Vq6EGPfv+7GJSKkZWwvYlVVgJuMGhBhJqvCJacUZA4eE2pYUEEEaZ5b+e+T8C/oPhpxkOhvBUKJ4jxJIZdr1jci1AosNsdAp5mZK1y3JJWKf5kVErFIs6Zxw+Ah5XbsuZ0Z9S9L3aQylvaGlhIpsbfjL4P/2E6k/QWDxM6x71Hx7/FKbCumwWl+5IVd54+3cVcNbasIGqGddUkwk4p40LaNcPRHDsw24tWiVWsSDjtaFRF+0hQFLDA== 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=8G9QlWIQAAkh9o1ffxVkwTWn+VJouHaPNzMY72a6z7g=; b=Tc/kM+smLpUFwoJe2hdUmVq5EJo38tTaE7kPKdu9JHZUJCpHT4sd8tlXjJQgqAs8IbYq968AzAlQaSMF7ogKvYgBcrqGYHz/wJXVQ8awQCjxJq7fR0ju1KGs6v0AP9hWvCUNPtOG5zfY1lWyWTwe9IGNqYxhi72PEgnvYj1/7136Y6TU0E+GjZGhfc24++Tsh88ZRAuO7VMhQh7tZkNFusS/wmuh3wP7yhFkcLAwX3Yv8KWMtdOfvx9KpzflEbH3wDhD0R+UbjQQC2g2ID5NVFYUue+i2Zv6QmslQNlhGbhdRAnlNpO4LNK6z/mH5/tJfoC5Vm/1VXbn6ZTxAMRKkQ== 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 PH0PR11MB5877.namprd11.prod.outlook.com (2603:10b6:510:141::12) by MW6PR11MB8366.namprd11.prod.outlook.com (2603:10b6:303:24c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.28; Wed, 6 Sep 2023 02:33:50 +0000 Received: from PH0PR11MB5877.namprd11.prod.outlook.com ([fe80::95b7:4291:8e30:e19f]) by PH0PR11MB5877.namprd11.prod.outlook.com ([fe80::95b7:4291:8e30:e19f%5]) with mapi id 15.20.6745.030; Wed, 6 Sep 2023 02:33:50 +0000 From: "Liu, Mingxia" To: "Xing, Beilei" , "Wu, Jingjing" CC: "dev@dpdk.org" Subject: RE: [PATCH v2 09/12] net/cpfl: update vport info before creating representor Thread-Topic: [PATCH v2 09/12] net/cpfl: update vport info before creating representor Thread-Index: AQHZ0A1ztATOnRP2UkulE91A//0h/bANMrng Date: Wed, 6 Sep 2023 02:33:50 +0000 Message-ID: References: <20230809155134.539287-1-beilei.xing@intel.com> <20230816150541.144532-1-beilei.xing@intel.com> <20230816150541.144532-10-beilei.xing@intel.com> In-Reply-To: <20230816150541.144532-10-beilei.xing@intel.com> Accept-Language: en-US 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: PH0PR11MB5877:EE_|MW6PR11MB8366:EE_ x-ms-office365-filtering-correlation-id: 2151be97-3b71-42f8-0bae-08dbae81b46f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bXy52/CQa409sqsaL14+yu6m+T2of6/pm4dpRDB4wpOWLpDTkQSpp4R7fRiMF+glSDyHlAc2AZkBRZX4jVNsUQ5fI5QwSO50UM2TgCKOX6WiUtWZOWwYJXaCjtuW3N5BKebj29y/s3TuVA7/d9NA3vxxpj0rZL61w/85JThLlA7vJDGQ01lp30ft8P88fBsS/UepiDiMRfg9scNURWTu/4gx8+r6wU1cQUWfNXr5bukPrV+/w/V7z3nEW+F/Rwk0n33TQZ4dg86OSEUmBT66Z0dl/Ti+M1EUjSZX21kIAAA7KSv3KlrYzlkWwwCzVO1wpAad20xB3cUlVZ0O/3rXyacRUP41cjjkMyVoCENS51r9pJZ7OwkUYRBXXB6P0aDYkShR/bmCWzIbwscaY8snb5XscJwNt8C0ksVkNBkdh1LYPgMORaC9u+809HvubUMX2dcGTjDBHjGQuc5n1SHbAbWJI+mN5ufDy6zw6B6jqBWHY4e+KTs7e6GmPz6RS53iiBkWzFVCADjr3NvtcST/XLH3d+faKmW99yePgwm5+vsZplYkveHqdNxidbFrOlpoL4UpVsSBc6gDORD5N0nnIaClC9MRIvDjE247/XqEnwqB1TPo8V1WN6+nBmumPYvD x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5877.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(39860400002)(366004)(346002)(1800799009)(186009)(451199024)(7696005)(26005)(53546011)(6506007)(9686003)(86362001)(33656002)(38070700005)(122000001)(82960400001)(38100700002)(55016003)(83380400001)(15650500001)(41300700001)(8936002)(66556008)(316002)(66446008)(52536014)(110136005)(4326008)(66476007)(6636002)(64756008)(66946007)(8676002)(5660300002)(76116006)(2906002)(71200400001)(478600001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?/psWjtpDVpoAGVbaJQAI6Rqv8zgk6xUCPW10U8ZMZRPme1avT5Hh1X1kQGky?= =?us-ascii?Q?EFn4zu11MNh+Lt1EzvEXFORusigrggGUNzaCgi9RC6TYy3ZP0Omo2X6HE99G?= =?us-ascii?Q?29jdywBcaE1HHvW8j6OJFicI2OFLcDKc6PPUhKIvdzmisCjxgUbLFoD6pvi/?= =?us-ascii?Q?BhUCYcA8FmQmEtnPaL89z1uYY+vlxZ9kUmppDu/V50VkMFI+0UWZTfJX55rS?= =?us-ascii?Q?uxgxj0WnS/DnJPPM8c8fg47Ss1SR9GNbz39ZCKNXUT57jsuBuqEPegj8oanH?= =?us-ascii?Q?Yoz15YdxvkTnNm6WKF5X85LdMtwfDuyZ/CGOLopRMw1yWexPssSj0g09+3qc?= =?us-ascii?Q?Sam9/99qTZRzU81miVh16/NTKqU62K2lOfTZ1sGAMe8cXxtuAHGFYGWxTwbq?= =?us-ascii?Q?hZgqRRjw3hX4UJ/rM/bMB9T8HLRml0IBBMvlywTRn+D2o3VTXJelcYYPVspf?= =?us-ascii?Q?ew5X2x7j3Bss31b0w8q0AD7DxL5FFO9MrFFwCe+uoBqcEyjSsTJazM8qnC02?= =?us-ascii?Q?D4BKLVQCPlcDt2MrTEi39x9+Pv5aO30yq/f3GApHWgNbXvNpkU4By9ZZkgkb?= =?us-ascii?Q?V8Wb8icYTKUTvfhyJU+e4W+u13VIdqSmPqGvIDYAv86+KiZ8HloHjm5EsGfc?= =?us-ascii?Q?RQpSSA3HXInWj/2Ngv0/fWKkE4MOh96zKykRzDDlFPDBMlCBh7mJa0qHmMcV?= =?us-ascii?Q?goBG+Qqf/s9RGXMastDhHtMU+GnSFUr67srYTlS5EE6L1lubF4SIAHBVGH49?= =?us-ascii?Q?T6EXqmH8VjVYA2xRHJgECfx4vfZkon8mZdZ1Gn6Tc+p59uiHUuTxWAR5N4yA?= =?us-ascii?Q?tBSVMmTWIZI24HSQkYmrFjvkYYgfYEc/PET7DPw4Zy8gV+sAfqQi70iMs7oy?= =?us-ascii?Q?Xqk/jnthUMwl2T0fgDRVnJMqF/81wgFBX//TCCflBP9rbTHyCY0R3PV9lTWQ?= =?us-ascii?Q?MOW/XSttzGq5IjFco/OOjL8gXu54CL4vRhzHXBTSDcEcPsCbjvp9tsY0pyJS?= =?us-ascii?Q?btLef1nkAnueoAurYFD1T3TrB1NkrGP7gLmlq6dS0xS6XsFEd48reVRWdFjU?= =?us-ascii?Q?mGRMdJC03Mn8n71BIegMkju1GchcqUUB+IYo7Zcup4b9eF+7hBlp1vkACeU7?= =?us-ascii?Q?d9ffuxNJZxmawT25rVJ3WERRL0oiS7fT1zRdb9rNQCV+fSz9brn6aXUGpFoF?= =?us-ascii?Q?fpl557gNdiok7DaVfSSp3Yr6MD7EClxLd21gfKjv/6owYN9jpxrGFVPP9OcS?= =?us-ascii?Q?QvB/4afZGShj4LfT4jH5UNW1rWpq8H0lh2VZCB7wZ62JCOVjKJ6BoeceFGHn?= =?us-ascii?Q?WJnEn+tr0HieDNjxg9/6YHQbo02aWXvniRzajhFL/coyyw0CRhna2h1b30cx?= =?us-ascii?Q?Q9vu93CqJZuex6kcs5XsZdJR1efNUqp62dhRkC+D3DsKsDkv5d0hO0UGRZQR?= =?us-ascii?Q?VNzNRo7MmgIm8BScYXp1FwdUdOZYO1STQ5BEPreYttut48dwZrncyZowabha?= =?us-ascii?Q?N2cESBWrPgEApj+PdDaab0VqC6snVvCKG4GbMvawmv6BGXOmMUSWb+PzQ4eQ?= =?us-ascii?Q?CIS7Ggtq90OehFqIZ3QMvzVKPdyoSeYZO0Ww/ccc?= 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: PH0PR11MB5877.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2151be97-3b71-42f8-0bae-08dbae81b46f X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2023 02:33:50.3650 (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: aTxQvrIzr/t8ojwlM7rCKdjTtCkWWli+fYTcBygqpMaFBKXnLs/sRklzqAuxZ/LQebvoblNkBcBZkV0sb+paVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR11MB8366 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: Xing, Beilei > Sent: Wednesday, August 16, 2023 11:06 PM > To: Wu, Jingjing > Cc: dev@dpdk.org; Liu, Mingxia ; Xing, Beilei > > Subject: [PATCH v2 09/12] net/cpfl: update vport info before creating rep= resentor >=20 > From: Beilei Xing >=20 > Get port representor's vport list and update vport_map_hash before creati= ng the > port representor. >=20 > Signed-off-by: Beilei Xing > --- > drivers/net/cpfl/cpfl_ethdev.c | 2 +- > drivers/net/cpfl/cpfl_ethdev.h | 3 + > drivers/net/cpfl/cpfl_representor.c | 124 ++++++++++++++++++++++++++++ > 3 files changed, 128 insertions(+), 1 deletion(-) > int > cpfl_repr_create(struct rte_pci_device *pci_dev, struct cpfl_adapter_ext > *adapter) { @@ -375,8 +455,14 @@ cpfl_repr_create(struct rte_pci_device > *pci_dev, struct cpfl_adapter_ext *adapte > uint32_t iter =3D 0; > const struct cpfl_repr_id *repr_id; > const struct cpfl_vport_id *vp_id; > + struct cpchnl2_get_vport_list_response *vlist_resp; > + struct cpchnl2_get_vport_info_response vinfo_resp; > int ret; >=20 > + vlist_resp =3D rte_zmalloc(NULL, IDPF_DFLT_MBX_BUF_SIZE, 0); > + if (vlist_resp =3D=3D NULL) > + return -ENOMEM; > + > rte_spinlock_lock(&adapter->repr_lock); >=20 > while (rte_hash_iterate(adapter->repr_allowlist_hash, > @@ -385,6 +471,7 @@ cpfl_repr_create(struct rte_pci_device *pci_dev, stru= ct > cpfl_adapter_ext *adapte > char name[RTE_ETH_NAME_MAX_LEN]; > uint32_t iter_iter =3D 0; > bool matched; > + int i; >=20 > /* skip representor already be created */ > if (dev !=3D NULL) > @@ -402,6 +489,41 @@ cpfl_repr_create(struct rte_pci_device *pci_dev, str= uct > cpfl_adapter_ext *adapte > repr_id->host_id, > repr_id->pf_id); >=20 > + /* get vport list for the port representor */ > + ret =3D cpfl_repr_vport_list_query(adapter, repr_id, vlist_resp); > + if (ret !=3D 0) { > + PMD_INIT_LOG(ERR, "Failed to get host%d pf%d vf%d's > vport list", > + repr_id->host_id, repr_id->pf_id, repr_id- > >vf_id); > + rte_spinlock_unlock(&adapter->repr_lock); > + rte_free(vlist_resp); > + return ret; > + } > + > + /* get all vport info for the port representor */ > + for (i =3D 0; i < vlist_resp->nof_vports; i++) { > + ret =3D cpfl_repr_vport_info_query(adapter, repr_id, > + &vlist_resp->vports[i], > &vinfo_resp); > + if (ret !=3D 0) { > + PMD_INIT_LOG(ERR, "Failed to get host%d > pf%d vf%d vport[%d]'s info", > + repr_id->host_id, repr_id->pf_id, > repr_id->vf_id, > + vlist_resp->vports[i].vport_id); > + rte_spinlock_unlock(&adapter->repr_lock); > + rte_free(vlist_resp); > + return ret; > + } > + > + ret =3D cpfl_repr_vport_map_update(adapter, repr_id, > + vlist_resp->vports[i].vport_id, > &vinfo_resp); > + if (ret !=3D 0) { > + PMD_INIT_LOG(ERR, "Failed to update host%d > pf%d vf%d vport[%d]'s info to vport_map_hash", > + repr_id->host_id, repr_id->pf_id, > repr_id->vf_id, > + vlist_resp->vports[i].vport_id); > + rte_spinlock_unlock(&adapter->repr_lock); > + rte_free(vlist_resp); > + return ret; > + } > + } > + > /* find a matched vport */ > rte_spinlock_lock(&adapter->vport_map_lock); >=20 > @@ -428,6 +550,7 @@ cpfl_repr_create(struct rte_pci_device *pci_dev, stru= ct > cpfl_adapter_ext *adapte > PMD_INIT_LOG(ERR, "Failed to create > representor %s", name); > rte_spinlock_unlock(&adapter- > >vport_map_lock); > rte_spinlock_unlock(&adapter->repr_lock); > + rte_free(vlist_resp); > return ret; > } > break; > @@ -443,6 +566,7 @@ cpfl_repr_create(struct rte_pci_device *pci_dev, stru= ct > cpfl_adapter_ext *adapte > } >=20 > rte_spinlock_unlock(&adapter->repr_lock); > + rte_free(vlist_resp); >=20 [Liu, Mingxia] There are several exit point that do the common clean work rte_spinlock_unlock(&adapter->repr_lock); rte_free(vlist_resp); return ret; how about using goto ? > return 0; > } > -- > 2.34.1