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 D7B2146532 for ; Tue, 8 Apr 2025 10:17:08 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D0ADB40A89; Tue, 8 Apr 2025 10:17:08 +0200 (CEST) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2073.outbound.protection.outlook.com [40.107.96.73]) by mails.dpdk.org (Postfix) with ESMTP id 4562D40A89 for ; Tue, 8 Apr 2025 10:17:08 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ONbkEHy2n7lzfg6u4+WuVSs+y8WLXan62Aa6axrwHCEoFcQKPLNteELDb2uAB0GlPoVstDkY+dnB0ZEyKIG66n+25tMgCooLL/8sBppEyjVPONrL/4w2+kg3JDf6cR53Ej986irZPPu2YihMtrDQcSfBp9Z6Uo7C7kQs0yjPUeXoTdjdRm/5yG5kUL6zYs/J4rtA2l8D1KyL5+BejP4GcHv5ivTOtt1sHV3IMc9wM+tqPizqjxvt6dSj98yCvKGDiE1NK5D8Op718vp68y0qhO/vqls1daaLbCtpxQlNzvyuooPmEkUvGxLLXwlww++d/Yjsm72/jkaJ4KT3joNw6Q== 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=2zOViaohEmFj7FWykfOBuAxayI1kFvU/iyb0EtrKQgc=; b=XTCCQyYyI3AKdqFFC+r8c/edj+4Tfp8W5iQNNat50EmMC11o1VSbL02eJHRPdmNf/p+3GXVcGW4L8UdwVUL6GAGhNVVV3/PajiXimFPjQdKbCpL4qT2J4bjrzzG+fSC4obW8plEPjrskxCUqYRTabQ80xAapD63hOhwYE2JDQXV7dsyDzve37bxi1XEPyNSZT9epW4V0uVruQA90ZGSTier5u82lmUs9pJK27wFhjjgVEuukOj4d+t7X4+45Z/hJ0XZTznGKw2iIQPnP4Cv1xXIHxqOEK47nqEF5rWTsJXfcL/Q7PViPQx55U5EDwAaUehDfI1CTFyhBaFWBpwwrMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=intel.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2zOViaohEmFj7FWykfOBuAxayI1kFvU/iyb0EtrKQgc=; b=jWbsvpmvtVcRoRThoOfeV9XPiN9tFLFvXCL9rte7h7DPOls8Sq1XUZ0bYbGkdpgkoRvhPxqP1GFejwol8UuzqDcaClOTnz3/5A3hSaLlfsb+tkMOgwUPBkRAtbGGH1r/O1m9zLYpKNFm5wZjYr90fWz0YHIhnkj2gpvtMtskhSJAesBpjv7p5c2zOGqVVr6tXobJVQuOvY4cPnEFuf2CcaLVqhh8YT5rtue9jStUUFK9Rm93tq9WxmKbnqxT2P3fH232uy/3V128YANzDGNqqYB/fc0tRzZx52NNPOtYMkCnrwvj7iZyqhSgCW2M2g6FvHyvOpkcpLoIAjdPJfw15w== Received: from CH0PR04CA0037.namprd04.prod.outlook.com (2603:10b6:610:77::12) by DS7PR12MB8202.namprd12.prod.outlook.com (2603:10b6:8:e1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.42; Tue, 8 Apr 2025 08:17:04 +0000 Received: from CH1PEPF0000A347.namprd04.prod.outlook.com (2603:10b6:610:77:cafe::d7) by CH0PR04CA0037.outlook.office365.com (2603:10b6:610:77::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8606.35 via Frontend Transport; Tue, 8 Apr 2025 08:17:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CH1PEPF0000A347.mail.protection.outlook.com (10.167.244.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8606.22 via Frontend Transport; Tue, 8 Apr 2025 08:17:04 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Tue, 8 Apr 2025 01:16:51 -0700 Received: from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Tue, 8 Apr 2025 01:16:45 -0700 From: Xueming Li To: Bruce Richardson CC: Xueming Li , dpdk stable Subject: patch 'eal: fix undetected NUMA nodes' has been queued to stable release 23.11.4 Date: Tue, 8 Apr 2025 16:16:22 +0800 Message-ID: <20250408081625.377877-1-xuemingl@nvidia.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250218123523.36836-1-xuemingl@nvidia.com> References: <20250218123523.36836-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A347:EE_|DS7PR12MB8202:EE_ X-MS-Office365-Filtering-Correlation-Id: 81c8b99b-7583-4d44-900b-08dd7675bf43 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|36860700013|1800799024|7053199007|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?BYEGnZzNySL92sWzUT3SbV/sU8H/FBtl3t/wWQO8vscZTe1Ng7vUPRX3JFsS?= =?us-ascii?Q?/LEOb7lF4eO/gGxfAQaRMVvGLXdh0lV7Aryp6JOJbRb+zNam0v9Q5OQ3YZ7Q?= =?us-ascii?Q?HBhVCrhrBsaeQFJY9dTXsYzdK7Qwkt835OuIUyhQLkkVTqZcJW8huEd+71sa?= =?us-ascii?Q?3agvA/nUlaDbEA18mPctwia/lZiaSX8crgrhKGVopokzCY8L3ieIRPtxVpSJ?= =?us-ascii?Q?a6Vz49srssE69vn0pJx/b0r/Rsce3UoWf679DOAAR/I2LPepQwM2QJfqTBZ0?= =?us-ascii?Q?8Q+X5461xFAUjn+vsbR8a6v0GlGmur22wMQcxXh1ZXdMZnc95CkFEHvLWRiX?= =?us-ascii?Q?V27HJKEMctnRBjq6KU7NJfdoIAw+ZFvzGTKq0753KEZOsBh5QahQigchMFMj?= =?us-ascii?Q?zlWzwuR+Fo/r1oEiWw0f2uKR4Wr99y6vPRtiLG7p7CDNfPSkx8/1Mela91nU?= =?us-ascii?Q?gmFqhbIFf6M4gC64shnQCkAN930IBh28EKxz68m+k2FeTCQjlgNh9z8qT25Q?= =?us-ascii?Q?207t3utGl0DzufS4kkoOXJAXJAOptcq4B2fOUyBViFLV1bQPvqWw/MEtJClA?= =?us-ascii?Q?rAp7B6NhXungQggwTml8GEQfC2Li14MDgrECDFlaqIHRYTVmFYk7/2lzFGfU?= =?us-ascii?Q?nBW0mU9dSWEQtmdvwJc1/+zMshpiDboC93gfH3vqhAQrb6cgFl9MznUSaO29?= =?us-ascii?Q?Kt1bd1jiUkLrnqXKf8hpnnhcVfkRqMn3N6BvKf5ptMzvmTwah906hP9vUGIt?= =?us-ascii?Q?nWoj5GdRDdTqekhtyXDVEIKROrZ0t/ypAl1ZaFeSB5WkVMEF2JdETGL92B9U?= =?us-ascii?Q?MDkad1IZZYCj73uoFcomMkZnS4X7G9pQmHK5rFMqMmzXroZgwsmfDhMoPAeR?= =?us-ascii?Q?CNoYahmZ9/Hv3IotMTIqPf9YZyA9V9J2MdGJm/KjyXdpeUfDKP9fSUoA6XhS?= =?us-ascii?Q?bd82WvWoFQcDbGgXXUOgeMhKC6v3sEa2PJqOY3XeZc+0H8/UbXn74oq+3s24?= =?us-ascii?Q?uin+GhD76OiLI1xwlMySvb3y2qRStD5wAO4wDhTj0I1TEzJ8vRLTrbYXzffp?= =?us-ascii?Q?Deh/ckEeO+kzvaQc57pV7ErKzyjSO753BPkwY5UP/TA/191pT2lzxJkjKy/G?= =?us-ascii?Q?p6oaFIN4Ni7+h/EJsARfSMNdHjrQchjCQbLkMrSrP6RcQVpfIfINkvHvzXZF?= =?us-ascii?Q?Ci3g5O3MBiqIHPzPOIsxkJfsKKG222uOEfHErz/p9s05UgGmugg9k+7j4Jkd?= =?us-ascii?Q?KUSwly4vIrQWK0ZTr/Va025+kQXhZd/aZIaAGxp2e1KdaaexfgbkoxzlDU//?= =?us-ascii?Q?VGp7e9y301hymTDO/ePgDlQG7yPBQkRmy2bTkZYE+hO0vfAoLmneGKCG0rDY?= =?us-ascii?Q?Hcy6ftVI7EbW5UYuj1sDaQJXFT2SwIDKa3cJwGMf1TdVA5kwA4GVwqonpdqu?= =?us-ascii?Q?kjt6rgHzD2sM/u9AwNHtb/Tjd+uj495lKyhec1M73A2nlHUvcaaHwSmqgwdT?= =?us-ascii?Q?sZOFyCM//XyEQsR6RwnlvBXSFUtK3gC05zG7aPoFFpaLXOx6vk5I1ZAAuw?= =?us-ascii?Q?=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE; SFS:(13230040)(82310400026)(376014)(36860700013)(1800799024)(7053199007)(13003099007); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Apr 2025 08:17:04.7043 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 81c8b99b-7583-4d44-900b-08dd7675bf43 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.161]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000A347.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8202 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 23.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 04/10/25. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://git.dpdk.org/dpdk-stable/log/?h=23.11-staging This queued commit can be viewed at: https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=5a9b12d3dc38d893447312dcebf2f6ae065730cb Thanks. Xueming Li --- >From 5a9b12d3dc38d893447312dcebf2f6ae065730cb Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Wed, 5 Mar 2025 16:24:58 +0000 Subject: [PATCH] eal: fix undetected NUMA nodes Cc: Xueming Li [ upstream commit ef41b96461703c766e4a39ecf4bf7cb731d9617d ] In cases where the number of cores on a given socket is greater than RTE_MAX_LCORES, then EAL will be unaware of all the sockets/numa nodes on a system. Fix this limitation by having the EAL probe the NUMA node for cores it isn't going to use, and recording that for completeness. This is necessary as memory is tracked per node, and with the --lcores parameters our app lcores may be on different sockets than the lcore ids may imply. For example, lcore 0 is on socket zero, but if app is run with --lcores=0@64, then DPDK lcore 0 may be on socket one, so DPDK needs to be aware of that socket. Fixes: 952b20777255 ("eal: provide API for querying valid socket ids") Signed-off-by: Bruce Richardson --- lib/eal/common/eal_common_lcore.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/eal/common/eal_common_lcore.c b/lib/eal/common/eal_common_lcore.c index 6807a38247..208e73b465 100644 --- a/lib/eal/common/eal_common_lcore.c +++ b/lib/eal/common/eal_common_lcore.c @@ -144,7 +144,11 @@ rte_eal_cpu_init(void) unsigned lcore_id; unsigned count = 0; unsigned int socket_id, prev_socket_id; - int lcore_to_socket_id[RTE_MAX_LCORE]; +#if CPU_SETSIZE > RTE_MAX_LCORE + int lcore_to_socket_id[CPU_SETSIZE] = {0}; +#else + int lcore_to_socket_id[RTE_MAX_LCORE] = {0}; +#endif /* * Parse the maximum set of logical cores, detect the subset of running @@ -183,9 +187,12 @@ rte_eal_cpu_init(void) for (; lcore_id < CPU_SETSIZE; lcore_id++) { if (eal_cpu_detected(lcore_id) == 0) continue; + socket_id = eal_cpu_socket_id(lcore_id); + lcore_to_socket_id[lcore_id] = socket_id; RTE_LOG(DEBUG, EAL, "Skipped lcore %u as core %u on socket %u\n", + lcore_id, eal_cpu_core_id(lcore_id), - eal_cpu_socket_id(lcore_id)); + socket_id); } /* Set the count of enabled logical cores of the EAL configuration */ @@ -201,12 +208,13 @@ rte_eal_cpu_init(void) prev_socket_id = -1; config->numa_node_count = 0; - for (lcore_id = 0; lcore_id < RTE_MAX_LCORE; lcore_id++) { + for (lcore_id = 0; lcore_id < RTE_DIM(lcore_to_socket_id); lcore_id++) { socket_id = lcore_to_socket_id[lcore_id]; if (socket_id != prev_socket_id) - config->numa_nodes[config->numa_node_count++] = - socket_id; + config->numa_nodes[config->numa_node_count++] = socket_id; prev_socket_id = socket_id; + if (config->numa_node_count >= RTE_MAX_NUMA_NODES) + break; } RTE_LOG(INFO, EAL, "Detected NUMA nodes: %u\n", config->numa_node_count); -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-04-08 15:39:07.225769561 +0800 +++ 0045-eal-fix-undetected-NUMA-nodes.patch 2025-04-08 15:39:06.046436542 +0800 @@ -1 +1 @@ -From ef41b96461703c766e4a39ecf4bf7cb731d9617d Mon Sep 17 00:00:00 2001 +From 5a9b12d3dc38d893447312dcebf2f6ae065730cb Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Xueming Li + +[ upstream commit ef41b96461703c766e4a39ecf4bf7cb731d9617d ] @@ -18 +20,0 @@ -Cc: stable@dpdk.org @@ -22,2 +24,2 @@ - lib/eal/common/eal_common_lcore.c | 17 ++++++++++++----- - 1 file changed, 12 insertions(+), 5 deletions(-) + lib/eal/common/eal_common_lcore.c | 18 +++++++++++++----- + 1 file changed, 13 insertions(+), 5 deletions(-) @@ -26 +28 @@ -index 2ff9252c52..820a6534b1 100644 +index 6807a38247..208e73b465 100644 @@ -42 +44 @@ -@@ -183,9 +187,11 @@ rte_eal_cpu_init(void) +@@ -183,9 +187,12 @@ rte_eal_cpu_init(void) @@ -48 +50,2 @@ - EAL_LOG(DEBUG, "Skipped lcore %u as core %u on socket %u", + RTE_LOG(DEBUG, EAL, "Skipped lcore %u as core %u on socket %u\n", ++ @@ -55 +58 @@ -@@ -201,12 +207,13 @@ rte_eal_cpu_init(void) +@@ -201,12 +208,13 @@ rte_eal_cpu_init(void) @@ -70 +73 @@ - EAL_LOG(INFO, "Detected NUMA nodes: %u", config->numa_node_count); + RTE_LOG(INFO, EAL, "Detected NUMA nodes: %u\n", config->numa_node_count);