From nobody Fri Dec 19 13:09:44 2025 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11013018.outbound.protection.outlook.com [40.93.201.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A13EE329C7A for ; Mon, 8 Dec 2025 09:33:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765186423; cv=fail; b=YiyMCcAokBSI5upkTmjzLOm4b6Av9kgju8zTbdFKbMk8NNjysJrt5Hl3EtYd0Q+Lj2/z7oYpZtPcbhf0OQ5cNZpL8SljfqQX8Ag/gSQVwsWaLcMS17p2Vfx7H8Lc3Q0dDeUd5NGO6qB3dhDcxTLpFGa3LKNSgxgtMQ5/JoWKNOs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765186423; c=relaxed/simple; bh=HHE70SiVks0kxOZZ9YdZqJ93OZgchFbY/0zif/wuIuw=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=lTXdSuY6HDSFrbN6i2iwvGEkvB30w5iGEPL6wKb7kVbuqjBhCDZnMiWgoePh2xBtBRTV2q9J7i/MYk5KATJf5dGKW1JQGaQSHimJ2YmnisI752iH818j5yNPxqkaELqtXTaT4pxB5PhYmuO/Kn44J3JdJv4Qm2bTjEIFAFSV65A= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=xuGAQXwc; arc=fail smtp.client-ip=40.93.201.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="xuGAQXwc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oaYXkLdoc+dXs9OBbXfuOp0aSl8QKoMY595OiaMrlxaQmDalHjQVjuJ7Ny2Lud7mX7Fn5eXo13FOPaVOzSout+1QyJzMlKUydAvgGeBHUVv1H6bvFbxhNHtn64cPcnmR+Skflub4DOw0lVrGsm5tVoRPqtiutPGftqb0wCEpoYatp4USngtuW0vKllupZai+JzDhW3wUagAchRazrIe3zoktGXNO0IB6lNDqtbPyho9KpywweUnJ/GIVjmgJr3j/p1/keth/DZ3E/o8kbwUiWp/ey9vMVo/8QFKzP2c9u3H7AkJFIp3FDNk0lqQWigMwdHR3NDEC6ef6j3r4+mYISQ== 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=Aoni1bCE3uNJCi1VmizdFbM4vvyCJk+BYr2vRGr3vHI=; b=nvcXkPpyGzmhJXNSraIuwEFukHwzfuJZUbStDk9bCE6ZgyUHeEhsXN8Wn+plMW1soQ1WES3brQ8Kgm93jwmJGK0F4JWB2N6R3GiW9KSg0p0UYqLhEsperTkcueX3zKrbP85Eby8Hxugxm4PxSvUx2bf6TB14NSQgBQRZJ5kAhYLplr7E7kzeeCbZda0mkJZU7bVuQ6897Wk1mNw19gAMhTNq++EEqaOiHnGgpkCguR8NidfpLIiFI3vTHY5wC16vxhMFijDXgVeXm89ZKHSlcJdL7sHsPOYHRDu+7AwdxDNU26OXB3fCewhafRzHznl4whMFKGIGl96yANEWF9qNcw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=redhat.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Aoni1bCE3uNJCi1VmizdFbM4vvyCJk+BYr2vRGr3vHI=; b=xuGAQXwcjZUy4wsaMvIYAeJtAI9J1rEqZIxPECG++RSmVJZD7sb4IdycS9wRvN0T2aNoOUNgorxHMm+MT/kIqKluP1kL/JhYZbPp7zQVNt5DcRuVXET2Z1JMBcsNLYqqd5n+1gK8noT0+w2HQ4tMK5A8gMg3ozLSqQ8tLNVyF7c= Received: from CH0PR13CA0060.namprd13.prod.outlook.com (2603:10b6:610:b2::35) by CH2PR12MB4150.namprd12.prod.outlook.com (2603:10b6:610:a6::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.14; Mon, 8 Dec 2025 09:33:37 +0000 Received: from DS3PEPF0000C37B.namprd04.prod.outlook.com (2603:10b6:610:b2:cafe::3) by CH0PR13CA0060.outlook.office365.com (2603:10b6:610:b2::35) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9412.4 via Frontend Transport; Mon, 8 Dec 2025 09:33:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by DS3PEPF0000C37B.mail.protection.outlook.com (10.167.23.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.4 via Frontend Transport; Mon, 8 Dec 2025 09:33:37 +0000 Received: from BLRKPRNAYAK.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 8 Dec 2025 03:33:31 -0600 From: K Prateek Nayak To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Anna-Maria Behnsen , Frederic Weisbecker , Thomas Gleixner CC: , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , K Prateek Nayak , "Gautham R. Shenoy" , Swapnil Sapkal , Shrikanth Hegde , Chen Yu Subject: [RESEND RFC PATCH v2 20/29] sched/fair: Convert find_new_ilb() to use nohz_shared_list Date: Mon, 8 Dec 2025 09:27:06 +0000 Message-ID: <20251208092744.32737-20-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251208083602.31898-1-kprateek.nayak@amd.com> References: <20251208083602.31898-1-kprateek.nayak@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS3PEPF0000C37B:EE_|CH2PR12MB4150:EE_ X-MS-Office365-Filtering-Correlation-Id: ad6156ad-3aad-4679-3649-08de363cdd48 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FLYPj1x3/OknGgo0QdgWc0i9/IDmHjfddQcvEjA0IzhE5nK9hTjvtB+gxAoS?= =?us-ascii?Q?RdAOf168rV4snWq+gvH3XNiVAxIO2xF5dG5sWmPFkiIhS1GNtGyNI0DYyqw4?= =?us-ascii?Q?nYClWrhF0shsuOzWaD6gcYLw5OHTtYDUHRNqIN37w507gJ/1Zh4liXOkeEYT?= =?us-ascii?Q?ax2TEn49N14Gri5+4wr8TrQcolTT3RCephVhsYPXbORHagastIcNJpiSkYeC?= =?us-ascii?Q?pUfFiWYTziM4v0cdVfXyNZXT6ZrhifX8GgyKPA9+F3pVOYQXXMxC4KEpa63p?= =?us-ascii?Q?lCtxWhCdxaoKFyQJnrLUBtg86wj3CG2JCIjl3MA5tYMoeW4casJJeieWEgLs?= =?us-ascii?Q?82Ofp+9x7AMdvVOz5x+w2lxSb4ZGY6r0coUat4C5EDzqFztKT66pXYyk+NLw?= =?us-ascii?Q?nOusnsCfHoXyqGIomXpx2As71bLfBa/Ebt6VCvPq7eCsumdkY1JzRbykUfhF?= =?us-ascii?Q?eK2yR4qtz0vraHUmE6iFOM7bylNx+USlazGrpO6/YAkuu+T3lEQ1RyVRc2VO?= =?us-ascii?Q?WIZKo1SIyEKX0MB62iRNc0XfntSsXA7yzk02b8Zjhnm4o578AvhWAKrrgpUw?= =?us-ascii?Q?uV/4Ktu+O84St4NkeW4q26mLuKpFPxT0pQK0Vp57KAKZHUvN5d2r3cuqDmTa?= =?us-ascii?Q?wksjUTxtAzu7EQ9xoEMCZ7lB9SOnfS1TW1TRuCXw9cJXQCcNq+ZHP/p6QOjp?= =?us-ascii?Q?eVNb7hunFHEWir26esuY4smWteClNweUQ57mr158IHqoHtBnwTIWzVHSwbAh?= =?us-ascii?Q?e/P118HDRSaKi1QwcSJZldAgEJfcdp6+Oi57gEwa985kVHRhVIs+Kz2XiMJl?= =?us-ascii?Q?ed7QcXOPJwy9Dfvy1QrTBMrEaBy19zuQYKijFfahgGZdxhA4xcST8bhFeFE4?= =?us-ascii?Q?DA+wkSVxYZ2ve07z0DZcsl3pZl0KIXIo0LMe/29NhsO6hscAuMhzW9PA/l8f?= =?us-ascii?Q?AXMCyqq2zjnF0q+EVrx5xZbuQXHjjKOlLBafG+ZWw65wkx0q8bPvJpKGxAmp?= =?us-ascii?Q?ddHy4/LczN9ikrxGadTeaAb0mxwZdEpvIIv48ZJIN/j5LLK6WximwCzL0vgI?= =?us-ascii?Q?BFu8Xbv+YcL5rgRVKkQDH1dqIHC4OkK8jB7c+VsisleBbsHTc2eGkSQxhrPD?= =?us-ascii?Q?0OSxAdFJEHa0mNJektfwfAnDGFbWQsS5qNlHOI6sHFK1pEIGX/ub2X61RNhi?= =?us-ascii?Q?sInatxEnvbACnidFCiMnEOzXI9mS6ZkyB6PNowTEe2KLPGSZrrCNwUPaDqZx?= =?us-ascii?Q?a5/3VM7PY6FJKvb4jP9cYDZ0lIMWN9umhYwPJNzT4OYtwXfwOfna0psl3aCb?= =?us-ascii?Q?LkPKFxwb6mopXVevMnVcQyz1kjTBex6vrrxivQ60NZmO/EYcknCap7gMJPTT?= =?us-ascii?Q?PdXzb/Maet/1amYo7sxx4u0WVuEAjyhaz4Lnq+HeaVKBrqShTIjj2eGT1OEE?= =?us-ascii?Q?mO8rmRG0OjvADwPqUSAZ7EZBEI1zw1WdW2u39rDlxfFQu3TGq1sLJ6qy0Yv/?= =?us-ascii?Q?dvXg1oCQElne3R8HmZzvu1cMmoVnhoGOV2FroOw0wuS1j/JTOcUcyKb2uc8x?= =?us-ascii?Q?BMBf1yEPp8Jx8+tlPWg=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(376014)(7416014)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2025 09:33:37.0830 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ad6156ad-3aad-4679-3649-08de363cdd48 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF0000C37B.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4150 Content-Type: text/plain; charset="utf-8" Use "nohz_shared_list" in find_new_ilb() instead of the global "nohz.idle_cpus_mask". Signed-off-by: K Prateek Nayak --- kernel/sched/fair.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 5bbd56161838..dbbb1f3251d2 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -12367,18 +12367,27 @@ static inline int on_null_domain(struct rq *rq) */ static inline int find_new_ilb(void) { + struct sched_domain_shared *sds; const struct cpumask *hk_mask; - int ilb_cpu; =20 hk_mask =3D housekeeping_cpumask(HK_TYPE_KERNEL_NOISE); =20 - for_each_cpu_and(ilb_cpu, nohz.idle_cpus_mask, hk_mask) { + guard(rcu)(); + + list_for_each_entry_rcu(sds, &nohz_shared_list, nohz_list_node) { + int ilb_cpu; =20 - if (ilb_cpu =3D=3D smp_processor_id()) + /* No idle CPUs in this domain */ + if (!atomic_read(&sds->nr_idle_cpus)) continue; =20 - if (idle_cpu(ilb_cpu)) - return ilb_cpu; + for_each_cpu_and(ilb_cpu, sds->nohz_idle_cpus_mask, hk_mask) { + if (ilb_cpu =3D=3D smp_processor_id()) + continue; + + if (idle_cpu(ilb_cpu)) + return ilb_cpu; + } } =20 return -1; --=20 2.43.0