From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <dev-bounces@dpdk.org> Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8CFC345FE6; Wed, 29 Jan 2025 01:54:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3F4FA4026F; Wed, 29 Jan 2025 01:54:07 +0100 (CET) Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11022123.outbound.protection.outlook.com [40.93.200.123]) by mails.dpdk.org (Postfix) with ESMTP id E55C040268 for <dev@dpdk.org>; Wed, 29 Jan 2025 01:54:05 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bW0uB0cRJmjLMR46zPSHFtMCATpgedWLVs0zRpy7UXbdDEAqinOIU0xfMsYg/7UK863qMUJZJEVUoWTyMg1FFlf16yFDtJPNVJw32TDCl0OAD+SLMiLUxW136Jh7mfbcFPoW6tLN/VU92tv0cD/SkfJtNpQTJToPUrMhJDZHLZmoUj6nmom6JB1LYXSVg0US/1ntNml8ItILAPENTtiSFdQm27DBfrl9RtKhtFXEEyZNQpTlv2rN2YDwnsbpkQefvw1CGEkaYNyRlel2tJV8kGz8enufsceUP/QbrIfcLnjSwbCPsvX7tx/YCURm0xX909915nb82aghkemlW92AEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=EhKrQ3RfeyqJGWOBrAodvCgPiuPLOAXCkUhx8RJiOw4=; b=QCEGlJNk4YgenHPrK1B6OYYYL64ziSZe6uJvEX2YN7XyWQk7BA3/1DbItn0mDglMk6bEIuJ+dQcKce+nAyYtrTAz98guUxNm2rfQ4mi32eKsfOyIJSmz6Shngde4PZXFqd/igVvoQ97+hqxBASoJkMu3eIWheDD2QEbX3uf8gGQySkP1SZLHAcenHWX06E/OEFC96QgD1VrzgitFrUI4I9op6aF1w+Z96Q8JGjJoON8RYNhI0zoKOF+x824qf8HGeDHOO55TTCcjb+kUat1rlpLb4S2r5epe6x9foAAypAIvAGTB8HdaZee6PLsLISHMz1FPbdWxKvM8pmypWz6XBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EhKrQ3RfeyqJGWOBrAodvCgPiuPLOAXCkUhx8RJiOw4=; b=ENnfBcdvSyxnweiD6HH2Qb0+q5quBqkUHnn4Rt9zw7AiLPfnkxgmXfPpkn6sZsTusIwBOU6R6FoX4wM5BDixjQisBwU8vheus6/ul/8XPbgNZAK+YEiwjnyVuYGzGep1AZlb9SLYO9wXIgZfH1nBHJMaB+u7tD/Zlu/bCNJFTKA= Received: from SA6PR21MB4231.namprd21.prod.outlook.com (2603:10b6:806:412::20) by SA1PR21MB2052.namprd21.prod.outlook.com (2603:10b6:806:1b7::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8422.4; Wed, 29 Jan 2025 00:54:03 +0000 Received: from SA6PR21MB4231.namprd21.prod.outlook.com ([fe80::5c62:d7c6:4531:3aff]) by SA6PR21MB4231.namprd21.prod.outlook.com ([fe80::5c62:d7c6:4531:3aff%5]) with mapi id 15.20.8398.014; Wed, 29 Jan 2025 00:54:03 +0000 From: Long Li <longli@microsoft.com> To: Stephen Hemminger <stephen@networkplumber.org> CC: "longli@linuxonhyperv.com" <longli@linuxonhyperv.com>, Ferruh Yigit <ferruh.yigit@amd.com>, Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>, Wei Hu <weh@microsoft.com>, "dev@dpdk.org" <dev@dpdk.org> Subject: RE: [EXTERNAL] Re: [PATCH 4/4] net/netvsc: cache device parameters for hot plug events Thread-Topic: [EXTERNAL] Re: [PATCH 4/4] net/netvsc: cache device parameters for hot plug events Thread-Index: AQHbcce/rc9eOeRySEeaW83iwXBySLMs3iDAgAAImACAAAYjgA== Date: Wed, 29 Jan 2025 00:54:03 +0000 Message-ID: <SA6PR21MB4231D5067646877C7B99F64ECEEE2@SA6PR21MB4231.namprd21.prod.outlook.com> References: <1738028106-25239-1-git-send-email-longli@linuxonhyperv.com> <1738028106-25239-4-git-send-email-longli@linuxonhyperv.com> <20250128130056.399a1dd5@hermes.local> <SA6PR21MB423184289E69944273AEC587CEEE2@SA6PR21MB4231.namprd21.prod.outlook.com> <20250128163130.4e718cc2@hermes.local> In-Reply-To: <20250128163130.4e718cc2@hermes.local> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=c43dc3c3-5839-4ce1-8aff-b2647bdeddda; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2025-01-29T00:53:28Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Tag=10, 3, 0, 1; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA6PR21MB4231:EE_|SA1PR21MB2052:EE_ x-ms-office365-filtering-correlation-id: 502eced2-af0a-45c9-73dc-08dd3fff6cf6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|10070799003|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?JsdCJTkxI1UxVNja1G9s7arxXq3VoAqP31QHCz6oU8tTPsSqYKJ2D6diZBXC?= =?us-ascii?Q?GIWW2hi1QF/ZDzF7JyYH9NiMGbmOPy/hamgcroWfg99i2qej9C0yQ8sAF3n4?= =?us-ascii?Q?cVjBzGg1faOHM8grKT+CFgzkmDMstb6VbN/Xiwsx2UDygLBrR4fvXEL76gJ9?= =?us-ascii?Q?OJ0zT7C6iLqD+u0XIPi8MKfJe9cOCBGnDW4iuaZd933ER5MGa3zYVIZJSX5a?= =?us-ascii?Q?czAEFNqp9HanTNdfKeLt4Gc13tnQVw+TsBTcmFeA7a2Ba5RKi+ul6Ffazd8S?= =?us-ascii?Q?g0tx64DtnZ+V+xB9i+PHdjDB3yG6htaIwCYEvMZKmmg1SW1wLvQg+OpM0Ois?= =?us-ascii?Q?qT1o9cW9CfH2RkvLEsXvtzKhTxulmuzXwac+Yvzyn0IjVtek7kK/3PJS3O8n?= =?us-ascii?Q?20bJshzFmYLM/zYGeUWDiP4FyJKS/ZkHhfPGfcRBqTAihSfJK6zBdrhm6Zov?= =?us-ascii?Q?35/dvKyAJXVwsrDPGf4QarKQANhaQ9cnVw531IiFR1z0urqwKlnN9ru4dzhR?= =?us-ascii?Q?BAQMG3c0foIWukW3tKF0KuEWoFo2Rr1Jr2ryHB5fQNq0qZHFYGKOIX5Nv/g+?= =?us-ascii?Q?Eb6ec+esVckeU9d76sYG/1sYVZhpHbPXl32OdIeouk8Ccj7mTKtF3a4XxJok?= =?us-ascii?Q?bnIxL50wzl9YQRaX+ecPePh/UbcFh8wJmC19dLtZhBYYicR6XLOi7rvL9WUe?= =?us-ascii?Q?aeh4lV6i2qp2nHE/Pu0WRjh9VpPmgKie0nw+cJTsy4qDO4MLkmfiuueAAixP?= =?us-ascii?Q?cJ6H2qy6LQuCxsq5QikPWBSii0OwUpqD1yYImYvReIlpbIWrkL/dIzDxTe36?= =?us-ascii?Q?RZR8Xj6iDtJ/c5WsxZw5MBU+aws9lAYERE7ePTs35MKdCVEaVenAo+nNHQ6o?= =?us-ascii?Q?8B924iaR/3LFo6gKUmyz56KFZEmKm5iY8aLAnZf9yRfwWx4RncXz+EQ1eri6?= =?us-ascii?Q?tLkWlmqGzu+vzI0SLRQvG5GPQ7sgEDwIAKuGD2q8WymHObSqWmAPjF6VbTdV?= =?us-ascii?Q?rkjbMZsfGVMxdgbr+y7ADxpwhcNdeyXU95lTsvnB9SkR7lUak5v6n8k9lMT4?= =?us-ascii?Q?+V39Fh7hA0YEvkiODb4BRg4bFxhBWw7lpBqbjO3F6ez/2gw3fFSmCj9ZqRp/?= =?us-ascii?Q?DTG5eNpV2lQrgnNv+U7au4xFH8IQpdfXglTdT2YfSNsgvhsQgAAeC/q1rj0p?= =?us-ascii?Q?VDO5KNaAnNm3+NMlBgI8ZWdQNxCPSgSkAhl3lYIxf1ifjT2ybFVFe4jCAbGV?= =?us-ascii?Q?xKWMqEFaFjBWWGRi/SBAUJPg74/IcgRdRhjVFVHaJqmS00RUtphVzyF73dJO?= =?us-ascii?Q?4EAiNkhRzvf13K7xP1tvtXVjJX6d0n9Pd344hTDCifqfeeZr0AMaAxrKXUYT?= =?us-ascii?Q?kwbROmGqmMKd1cW7O1cjGksvRYDE+6WelSpwJpRcKRFHx4SX3cbbLLwp66TY?= =?us-ascii?Q?yxGVUlBdwU71QLzeSkrPQq7GdWanMVil?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA6PR21MB4231.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(10070799003)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?5Nv0Av8wol9DW5+u5ZSAXsIl8u6oY3+rKITePR893pQyR2E6rqObtmQO605e?= =?us-ascii?Q?ugkQEEnCwe5WUGTFGZkbEaJiJlZbQroPIcomJafYcmk5x9qeEWaVgzvZbt62?= =?us-ascii?Q?1+zddHonsOXVqmWyHhMT0rTY+hWVNanbRWjsW5YrQpd/ZkDrSYRCxyzp1LWn?= =?us-ascii?Q?1c7pNpu+lS4icxn/0Py2VuVe0L6QhvTguopHdA5lmYrQbsrb25De1lbV/hP6?= =?us-ascii?Q?5IlxA0EC+69N6QaP0rDxujodCsvmlQvJS5eUPGdoHb4IrUNZGpAKPheYTxYr?= =?us-ascii?Q?rJGiE+kpFgeAttJdA4H3ROZWFO00A1hnUNnL+L453uakXZhEL3ZNVOpaUKkp?= =?us-ascii?Q?+gTC7TS7ddQ3NvsfrAj2VDBfXNJgd5XGKt+TY1oAStUOjhVzbQSjjizeRHgL?= =?us-ascii?Q?ieNTgqRhfC2SYczY39z/Vmw33aVxG8LqiT+QjqVSCP503S55LG37PRTZ9edb?= =?us-ascii?Q?tJfINQIKgJqdoRCxZBN0LCidbEEmdjQaiyyk2zDT0sD4jSpUAc9PVFmYBAgi?= =?us-ascii?Q?Lf7HCw9HRgbBwxfBjHQYRV2bAB8fvkO3+pIJKmCy5Z3lmIpC+AFGIj5qFOdt?= =?us-ascii?Q?ZnZeZK7cQDeVSMMZq/xBnJKdO+XC1PrynirX9Tm/BeIOx7bY+4ZnH8bnRAjE?= =?us-ascii?Q?+HyQ55ZKaPmIttkcbfSK92A4QtzPweiPChaBXstrNXNEIkM8ypWAs25AcxaL?= =?us-ascii?Q?BAGZXQIBLYqO6ciMXr4PxRW5t7P3ioiuQMeJnckBS/d3FOSUcHsRDWZAgMcD?= =?us-ascii?Q?vjaug0Dbb1FBpda933ON9G3QQrFsxAVyDovRdP+2eTmktDcYLUaB6drUix7U?= =?us-ascii?Q?2BcR2IDz5QlQl25lgnwu4ftG2PLyjkVVyg9wdimLU79kgwlATEaVsO3ASRap?= =?us-ascii?Q?aNmIL/QCud0pZVUPTc8+6dzHZFQMyNqhDjERIfzgdRICQQ5SSwVBoHdchOUh?= =?us-ascii?Q?ZJK9wu9zWMG52CgZbV+SsIF2RfWda+WXEzIhj08LF7NNiCkXtHFOuTU6azhG?= =?us-ascii?Q?2LSPkRpGe82AokYbYeqhobHLqXhZCkmueRDbKmu7qRYj7HP4rwqUdUn/5/Ju?= =?us-ascii?Q?XIOeifCDCesR0lmoDlvQG8F6pIzGRN1xR/rDOB0s4Ht5O51Oddm+V1pyMoe2?= =?us-ascii?Q?vBizVpldqx+vOlkjk2tV4dOmLpFxWhgaNuaqML02sQDMEZkcB5fELTGb6NNf?= =?us-ascii?Q?mnFE6MNBTLEmWh5LWH1GMyUA5Ic6tsqaJNWdebedizuHM/0Wz6PFP+idQCsq?= =?us-ascii?Q?NSqEvC95srdOrfKduI45gDblm633QfHf7xJqJ1RRYy0BUPuphbWyT7sJ18YZ?= =?us-ascii?Q?r182q4ck9yekEMI6mNORcTx/1PAMu+p1VdY49ZBP/1e6KpVMO2IjthejSLTP?= =?us-ascii?Q?XeyeSRkT/7Wzv1GaY/wsxzWl0KXasKMMsgPngemgkaa3+S5ZXGkr9NYlpWFi?= =?us-ascii?Q?Egbukb2OII6+F4kBndNiZ3Bh+PE0PRKJVp2FslpX7DeMQe3fX0FiDpA+DNKW?= =?us-ascii?Q?TjRHjmOnvHEHsx+xyr6/TzTDkPFZHWu4qOhJ+9Ymesoo3MgG7UqRFGHvHKpB?= =?us-ascii?Q?gYaKkUgshG7wmtVBLIoCW5iTtT2oOGDvP9B5NNhTdhRQqpQyfouK3Gn+Z3bD?= =?us-ascii?Q?2teavLmFv3AZr/vRtxd9oi4cTWkJrhrfS5NfZO1ob+3U?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA6PR21MB4231.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 502eced2-af0a-45c9-73dc-08dd3fff6cf6 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2025 00:54:03.3269 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gI2ISbUfKd4aM3zy4bMBGs7NBcdu6Qg0+rUwyFpvz3y7njvm7+Jb60X4A0rFE8VMHFZP4XEMx/xzUahTUdBn+g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR21MB2052 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org > -----Original Message----- > From: Stephen Hemminger <stephen@networkplumber.org> > Sent: Tuesday, January 28, 2025 4:32 PM > To: Long Li <longli@microsoft.com> > Cc: longli@linuxonhyperv.com; Ferruh Yigit <ferruh.yigit@amd.com>; Andrew > Rybchenko <andrew.rybchenko@oktetlabs.ru>; Wei Hu <weh@microsoft.com>; > dev@dpdk.org > Subject: Re: [EXTERNAL] Re: [PATCH 4/4] net/netvsc: cache device paramete= rs > for hot plug events >=20 > On Wed, 29 Jan 2025 00:10:12 +0000 > Long Li <longli@microsoft.com> wrote: >=20 > > > Subject: [EXTERNAL] Re: [PATCH 4/4] net/netvsc: cache device > > > parameters for hot plug events > > > > > > On Mon, 27 Jan 2025 17:35:06 -0800 > > > longli@linuxonhyperv.com wrote: > > > > > > > @@ -1409,9 +1424,6 @@ eth_hn_dev_uninit(struct rte_eth_dev *eth_dev= ) > > > > ret_stop =3D hn_dev_stop(eth_dev); > > > > hn_dev_close(eth_dev); > > > > > > > > - free(hv->vf_devargs); > > > > - hv->vf_devargs =3D NULL; > > > > - > > > > hn_detach(hv); > > > > hn_chim_uninit(eth_dev); > > > > rte_vmbus_chan_close(hv->channels[0]); > > > > @@ -1423,6 +1435,61 @@ eth_hn_dev_uninit(struct rte_eth_dev > *eth_dev) > > > > return ret_stop; > > > > } > > > > > > > > +static int populate_cache_list(void) { > > > > + int ret; > > > > + struct rte_devargs *da; > > > > + > > > > + rte_spinlock_lock(&netvsc_lock); > > > > + da_cache_usage++; > > > > + if (da_cache_usage > 1) { > > > > + ret =3D 0; > > > > + goto out; > > > > + } > > > > + > > > > + LIST_INIT(&da_cache_list); > > > > + RTE_EAL_DEVARGS_FOREACH("pci", da) { > > > > + struct da_cache *cache; > > > > + > > > > + cache =3D rte_zmalloc("NETVSC-HOTADD", sizeof(*cache), > > > rte_mem_page_size()); > > > > + if (!cache) { > > > > + ret =3D -ENOMEM; > > > > + goto out; > > > > + } > > > > + > > > > + strncpy(cache->name, da->name, sizeof(da->name)); > > > > + cache->drv_str =3D strdup(da->drv_str); > > > > + if (!cache->drv_str) { > > > > + rte_free(cache); > > > > + ret =3D -ENOMEM; > > > > + goto out; > > > > + } > > > > + > > > > + LIST_INSERT_HEAD(&da_cache_list, cache, list); > > > > + } > > > > > > Why do you need to cache entry to be page aligned, that seems > > > unnecessary wasteful? > > > > You are right it doesn't need to. I'm removing the alignment. > > > > > Why does it need to be huge pages? versus normal malloc? > > > > I thought it would make it easier to debug memory leaks through EAL. Bu= t > normal malloc is fine because this data is not shared between primary/sec= ondary. > > > > > The string is coming from malloc (strdup) so it can't be used by seco= ndary > process. > > > > > > Since you are allocating a devargs cache entry, you could just as > > > well use flexible array where entry was like: > > > struct da_cache { > > > LIST_ENTRY(da_cache) list; > > > char name[RTE_DEV_NAME_MAX_LEN]; > > > char drv_str[]; > > > }; > > > > This is difficult as I don't know how big it is for drv_str[]. >=20 > That is why the malloc adds extra space for drv_str, see below. > Flexible array allow one array at end of structure > > > > > > > > > cache =3D malloc(sizeof(*cache) + strlen(da->drv_str) + 1); ... > > > strcpy(cache->drv_str, da->drv_str); > > Thank you, got it.