From nobody Sat Feb 7 08:45:34 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010004.outbound.protection.outlook.com [40.93.198.4]) (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 749CF423142 for ; Tue, 20 Jan 2026 11:33:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.4 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908812; cv=fail; b=O4bXgzUUVoq1bSDgTRgXEiFVXIi0AZEuEsuUlMv4A83ltbJN9MVno8Y0jX94Brq7JKQgz/M+hvLkTgw60crsoLG/YSKWB11hjuBy4KLaAkgFZ08iqOVnl/IaucqN8tv9qluehMtlRfGMkF0308ff/NoJVUlJkw8areMlcinJqss= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908812; c=relaxed/simple; bh=dAzmGuZo2IQ9XKCv3Rm2LBz/H5UkACaaUhwSb1CUcqU=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=b+QeGJn4efv1QQ7evS5mKJdqgxT88kO+HyV7ypTfTS1jGhruO3VcamZvOrjXsSc3svAfoCBcdE15vsJv0lnN+HCQHBxISw0y7mT2GjYrIDN4qXkaxL+VYSvp1yncStckMH0emRzOQqfPFHdGnwkqfek1Mk22TQ89VFC+o4ESiP4= 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=ZRfhUaOH; arc=fail smtp.client-ip=40.93.198.4 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="ZRfhUaOH" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iw5FDjJXXy2R04BCVGpTp5DNqJisb7Oi8vpiytSerMh2ormB9drrLaaxSSgri3rJtdMbMlROqAXAgzet+aKtiUSJ55LTSYZ+JsxoEUB0E0NozYteAhr/VtxFYLl2k4ScKknZXvd9CWFrXqB/wlEtDNbupX2u+qjd14ovSXBcGk/+bIDj+AKOxzYh6ouDw/6gZAJpwt2hjYc6qdn1WQejT85zWFZiiDwOoA4+kl7XSxBm1Yq5KzYhF9sdjS5w/zgLcL6v/Gdk8NhPdz4v0QEe18G3A+jmAHMIcKC37UKlJl+4JKLhrvWQKFOtugdmh5dqaULqXvdsJcUGYFUQ0FqhOQ== 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=cBY5zVFR5GfKkg+yTFyxMloNLDFiRZTyF/huiJw6Zcg=; b=iW2GQ0y1n6rkgN18ku1ef/FpuZx/V4m4DbwxwuN0BH01hbqNDLY7hQvOUwTw5UJZ1zo+9Jo7LvqPajOqhEUVM1n3I7kzHZGHsxzg2YEFJNKr2kw0i+0FnfF7Np8j4EIAik1ydIux2bV6eZS7FmI62b+oqYbCFLqnJZ/G+yPKqSIViVEgNEvQs03PEQOl9Jmta6MEbYrwUIgT4HDTRGsEm+QdCA/OUd4s2ZYLFHfKd72VjlZNwzNdSHG6Zvc22zza2/IlVytuCmqzeuWb1xVcw+dUgxGfS91OAh5oXJasrbxfgApYLFvBkiqVyc4CFLHCprx2cMeFzty97bUHzgQtVA== 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=cBY5zVFR5GfKkg+yTFyxMloNLDFiRZTyF/huiJw6Zcg=; b=ZRfhUaOHU6eyRXMJXC23L3PNoVEHCoBQf/79K1iTqpYUC26OaEMNttK9d3A1XwQKs3TLd+yL7o24YKNGeuXv2pEJsXjIeFwMbR2OzAKAdIsoUQI4fCFj48aevRkSjyeqDoqBUAkMyoHLKSQ73b/G52KGLRg/F2MHpUt9KPjIXto= Received: from MN2PR12CA0007.namprd12.prod.outlook.com (2603:10b6:208:a8::20) by MW3PR12MB4490.namprd12.prod.outlook.com (2603:10b6:303:2f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Tue, 20 Jan 2026 11:33:27 +0000 Received: from BL02EPF00021F6E.namprd02.prod.outlook.com (2603:10b6:208:a8:cafe::71) by MN2PR12CA0007.outlook.office365.com (2603:10b6:208:a8::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.9 via Frontend Transport; Tue, 20 Jan 2026 11:33:26 +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 BL02EPF00021F6E.mail.protection.outlook.com (10.167.249.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Tue, 20 Jan 2026 11:33:26 +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; Tue, 20 Jan 2026 05:33:22 -0600 From: K Prateek Nayak To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , CC: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Chen Yu , Shrikanth Hegde , "Gautham R. Shenoy" , K Prateek Nayak Subject: [PATCH v3 1/8] sched/topology: Compute sd_weight considering cpuset partitions Date: Tue, 20 Jan 2026 11:32:39 +0000 Message-ID: <20260120113246.27987-2-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120113246.27987-1-kprateek.nayak@amd.com> References: <20260120113246.27987-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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6E:EE_|MW3PR12MB4490:EE_ X-MS-Office365-Filtering-Correlation-Id: c5430313-09af-42ba-e869-08de5817ba7c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?C7HdqrwpSoylsti2FZTRy36ZFY3cFwktsM4FFAhjBs1GwnMtr26ZTRNS2Db1?= =?us-ascii?Q?+u4w8d/kK5ekiXxy4HPDEF/wRuBi4Qdg4gEPP3c8SJuGJaeEFJFzaixp+gw6?= =?us-ascii?Q?yIuIV11H7bWOMkXycJ/EWoh48oXPAtOwWWrfNgheTesX6DXax7Odg+AbCAO7?= =?us-ascii?Q?Xeqtb2zxuqi75T0BZUArej48XtndX1aWsDpZ34TPrBJ1zoCe7Cg66+DC7qRG?= =?us-ascii?Q?zfWCI8lKnbXKOTyQt0m8f+JJcLhNl1SiV1huNgk/LGBpksBcj6RJ52XV+qqw?= =?us-ascii?Q?jOF556GUmjiz3yVhUAdm86P8ycjCS8tj2mthxrWZRXAJU2QJAbP6qWDTGNGv?= =?us-ascii?Q?/ySivq9QEPwGVm1aKupIoyoiAhxCDHJ3ozT3wZO4PA1h2L5bSZeVAw3PAFSh?= =?us-ascii?Q?TYG6szK6bkSb78CSsLFAYyK2QlO3G9gA3PIinQ1+Nerg2OS+yxH6c2sgv2yJ?= =?us-ascii?Q?IIiAJ9+1ODwZ3dI2MvjoyfwdyhXV6o1qhqH3vq3VepcXmlNwoCa/4yxmPBIS?= =?us-ascii?Q?Ou+ZrDYFLtXIHIvdC2IU5SeGSd7I48/eqjwGDsxItdc/pxQB0EUCbJjD0PLg?= =?us-ascii?Q?hdg6/o/HGccWQWb8q2FI8PMwwJd8MiYd5vMm8XY1L0Y00O4vBRiu9/iF6Psc?= =?us-ascii?Q?hg9GI/BG9tFOD0MXnpDzYy2BZHBqIAs/2OZHwjLiZSDrVOLL/Rx9LPTvnHgj?= =?us-ascii?Q?R7LfkXrj+0Ka5NwVCwN9AgyLJZNaEhjOxKoKZDh8BcFT6mxnga0SODJwORBJ?= =?us-ascii?Q?jiM+cRJ2HX+HbYfsUhWO3SzEfEHQjaqNqkhmCsv6K+x+48oUUSrnUueEFh1l?= =?us-ascii?Q?tQXdvRHGVXElpC1Ff/gVPuuUA3IAPcif+j69QkJBmzioGvggD/dEptsIvpsK?= =?us-ascii?Q?SiByRshf4x/jY4J8Kvm+Iti0g2ZtbVWnnO5UQsyYvQU3j4W7W9Tvg44g9vJx?= =?us-ascii?Q?CKnUwvMBLbTIsSo2b1LJ0Ozf+KSbdtn0nxOmpt6RimHBKDozkkbbmvzTlS88?= =?us-ascii?Q?z+PI5BW9v8/W+CA12/ZZAs2t9CLcdebx46BPniDgUJUY+Mc7L33VxOCUr39b?= =?us-ascii?Q?xx1GP9M8Vn/WS1KkVhlaqhoYBz4nLDPyX/aZvFrFLxx9KxWC0MTGufxEAo21?= =?us-ascii?Q?lGyXz1o0yWItuAyxTNW5P+2WzKlXQb1FKflONAwJqWH/RZYHF+lJPxauszZV?= =?us-ascii?Q?rrwL5FufkYnrDjTkw+tBYnC0pGqRZ5zJacjKPMviPfXASQg/rQrjv+6yAnt5?= =?us-ascii?Q?o8m9XI4K1MdYtNj15o+IhkymfzlSNWxF7yVNR1g/XRjAijHHOlDGbihzIe4D?= =?us-ascii?Q?O/JxuufGpCXk5UY4xFZKNLe6BRHQq6RvGgzwB4I2HIJcSl1na+QO3cilHGSE?= =?us-ascii?Q?4qf0RCpcc1J1jABWDkKrJ1e/DnSwnfNQRKXy2sT/wCOC8CI4G4LDbgfaA00d?= =?us-ascii?Q?6Pdgx5OrQrF+nsRNGwJ3G1nnuGuyroYPKH5H/cQTLx/4wWiukpT3IrV4FwFm?= =?us-ascii?Q?/UQlUf8vUN1FC8V2jte3jr+lsZNYyDzr4h+MEJ611jGuXVGpfNlGv5pbSmN/?= =?us-ascii?Q?f1kI7Z++LhHhpMrGPWGGf9a7mTiyxUC1vh9zrYMmBiDwo7Nh86+5FojmzuHJ?= =?us-ascii?Q?G6kwIJvpSwDWiCDK5/IxYR8rIjBBsN7vjui5+n56Yfq5aJSZWGLIQ56KKGTG?= =?us-ascii?Q?kYwSfw=3D=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)(82310400026)(36860700013)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2026 11:33:26.8988 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c5430313-09af-42ba-e869-08de5817ba7c 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: BL02EPF00021F6E.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4490 Content-Type: text/plain; charset="utf-8" The "sd_weight" used for calculating the load balancing interval, and its limits, considers the span weight of the entire topology level without accounting for cpuset partitions. Compute the "sd_weight" after computing the "sd_span" considering the cpu_map covered by the partition, and set the load balancing interval, and its limits accordingly. Fixes: cb83b629bae03 ("sched/numa: Rewrite the CONFIG_NUMA sched domain sup= port") Signed-off-by: K Prateek Nayak Reviewed-by: Chen Yu Reviewed-by: Shrikanth Hegde Reviewed-by: Valentin Schneider --- Changelog rfc v2..v3: o New patch. --- kernel/sched/topology.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index cf643a5ddedd..649674bb6c3c 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -1638,8 +1638,6 @@ sd_init(struct sched_domain_topology_level *tl, int sd_id, sd_weight, sd_flags =3D 0; struct cpumask *sd_span; =20 - sd_weight =3D cpumask_weight(tl->mask(tl, cpu)); - if (tl->sd_flags) sd_flags =3D (*tl->sd_flags)(); if (WARN_ONCE(sd_flags & ~TOPOLOGY_SD_FLAGS, @@ -1647,8 +1645,6 @@ sd_init(struct sched_domain_topology_level *tl, sd_flags &=3D TOPOLOGY_SD_FLAGS; =20 *sd =3D (struct sched_domain){ - .min_interval =3D sd_weight, - .max_interval =3D 2*sd_weight, .busy_factor =3D 16, .imbalance_pct =3D 117, =20 @@ -1668,7 +1664,6 @@ sd_init(struct sched_domain_topology_level *tl, , =20 .last_balance =3D jiffies, - .balance_interval =3D sd_weight, =20 /* 50% success rate */ .newidle_call =3D 512, @@ -1685,6 +1680,11 @@ sd_init(struct sched_domain_topology_level *tl, cpumask_and(sd_span, cpu_map, tl->mask(tl, cpu)); sd_id =3D cpumask_first(sd_span); =20 + sd_weight =3D cpumask_weight(sd_span); + sd->min_interval =3D sd_weight; + sd->max_interval =3D 2 * sd_weight; + sd->balance_interval =3D sd_weight; + sd->flags |=3D asym_cpu_capacity_classify(sd_span, cpu_map); =20 WARN_ONCE((sd->flags & (SD_SHARE_CPUCAPACITY | SD_ASYM_CPUCAPACITY)) =3D= =3D --=20 2.34.1 From nobody Sat Feb 7 08:45:34 2026 Received: from PH7PR06CU001.outbound.protection.outlook.com (mail-westus3azon11010027.outbound.protection.outlook.com [52.101.201.27]) (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 735733321DE for ; Tue, 20 Jan 2026 11:33:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.201.27 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908830; cv=fail; b=YokaouYvYsDAmJ2vpKF81IBCknfrCvDEembLUCupAqLQGKpeQLwsmgKx6f3EWk6lDFa7q66GNhjBZazspeN6mghZvzYPZ/YDPibCvjudEcx0dV8+suPnI3QAaJMXqkUpnZrZMriU/6YOCB1A4t5NUTVldgOUjuNLMN+ryyoDofI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908830; c=relaxed/simple; bh=ztT6LSPVtnRrJkBQvx6X+ur9c9QpoMzubmBb3+fGCxI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=SmcMCwATF01jC1GpYU7Oixd4bIasXUsMzy8qH9dd0jAAkh1Y0BVSK1kY6jjV/BkARqkmsAzJ5OnJbjr5/O+gJzG7dfuyCFUj+V8Do+jGRMeCHuUntim4/sC/W54e7eYc5POL/yTlc0zs9frgYen99ot+gJoL7iNg7Z8ldFbkVdc= 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=gjteuSkB; arc=fail smtp.client-ip=52.101.201.27 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="gjteuSkB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=P1QHRlqIUaZIcO/IScHHDCWQf7+vcYAU9I9Vtm2WMKq8i9axDIR8BSUUGJZWQJemtIITWPmkwWf/54h7EAx4EVcoS88NYMeDAMyXnxg6jK6DFD7uHigWMi4AewYAsQtO7E7R8sbWKNBosFNk3etZ5HczEwB+ZCKMBNkVdKUfLIXu2WNOXeed22XnVrgL9aCeIPTYkRv2z3o0h+216WxvlhLn3kHDoqUP5r5I/Ce8HGwBNsKpSuOLFS+q5gwXp3ZpPg1Rd6qj5wliDTJcvu9OQbMdfNjTRYH0bFwbOgNnw5l4YezwF+yCexAqHrP25OW809MHS+prDjeXLXU46NeL2Q== 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=MLxURemEvTVDZWNQrTKqK6NmVeA7jItt8kDg3NpqJJk=; b=kdQ2JmM6fA+UfK2Hit6uzJTkAqteoGQ8nQ25S+cHqBvbJLayE+e70m7td1htld4MBVh3M5uDsZrQy8XtqVoDX9+7EBtRPNFLVIYCTGEMarEPQBBd+6yRvTR8qpR6L8Nc/pZSRXjbRbbjninPctRATNKBFRdnr1Wk2ugmkwPFLq8woGDP11BVUM8GRa76D0lHhPzaGb3W5nTTcoWhqhiZAUcu+FMARrLKqBl49QeYDAbRv/V/rhHHuX5k3uYJkiw+rYfMpdgc2a7zGFKXb4YrjjCYSzm0UwqyqYUvgCkxmEaMwXzNesjnvcCfcIYJMHtu0Lvs931MxDHbm53vy1tGjg== 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=MLxURemEvTVDZWNQrTKqK6NmVeA7jItt8kDg3NpqJJk=; b=gjteuSkBnafWYGsE7rWHxAzQmQT0hRb6XECH3JgMxmapV+f1McAKeFTX8ozVKSwGRsJPI4amg3mbOemxV7qQBQX7uyMJtYmETItrdhD/lr+gJ83wU59wQCdsNEZ2Sy4QHb7BCjJtVTwwQaGdLr8p+iZQRVkczQH0uidi1SeWUsI= Received: from BL1PR13CA0299.namprd13.prod.outlook.com (2603:10b6:208:2bc::34) by IA0PPF864563BFB.namprd12.prod.outlook.com (2603:10b6:20f:fc04::bd7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.12; Tue, 20 Jan 2026 11:33:44 +0000 Received: from BL02EPF00021F6F.namprd02.prod.outlook.com (2603:10b6:208:2bc:cafe::24) by BL1PR13CA0299.outlook.office365.com (2603:10b6:208:2bc::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.9 via Frontend Transport; Tue, 20 Jan 2026 11:33:51 +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 BL02EPF00021F6F.mail.protection.outlook.com (10.167.249.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Tue, 20 Jan 2026 11:33:44 +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; Tue, 20 Jan 2026 05:33:39 -0600 From: K Prateek Nayak To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , CC: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Chen Yu , Shrikanth Hegde , "Gautham R. Shenoy" , K Prateek Nayak Subject: [PATCH v3 2/8] sched/topology: Allocate per-CPU sched_domain_shared in s_data Date: Tue, 20 Jan 2026 11:32:40 +0000 Message-ID: <20260120113246.27987-3-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120113246.27987-1-kprateek.nayak@amd.com> References: <20260120113246.27987-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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6F:EE_|IA0PPF864563BFB:EE_ X-MS-Office365-Filtering-Correlation-Id: 0d5c052e-89db-40f4-fb7b-08de5817c4b0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|7416014|82310400026|1800799024|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?psRvE6u3ti9l8WB3J0zXkChj94cu3OskKFKgDqI7FrBmhUuTnw2/Ih0hZmFi?= =?us-ascii?Q?u1c6EGyDO1Nw03bUFewndIseHGNOPzKsk5kilsZC0b6xaRfitUBbff8SBboy?= =?us-ascii?Q?ATiKTGmlA2M+8vhpwPFvBiRCN5b2l9+uytTn1nFRgU/hnmXZ0W1wmndIYGgV?= =?us-ascii?Q?nIVwcxbcSx98Jv9gjYI9AICmAl5TEjHuRKWpUudtSo9k/6OTMAdiJsyLDI15?= =?us-ascii?Q?R/ylzjyWvhS8HY8JKle8s3ONi93oTlF4FVu5bnSIHBEBR5P5S++VMTHVl5l0?= =?us-ascii?Q?FDHEEi0PwA9CeiGeKEA6GNeN/pf/Cl+xo6Q48s8WpFQmMLx5GYeoCJl6CO6p?= =?us-ascii?Q?UwjURV/+/brRZyBDZd4YBYNcm6uLbIk7pbIECRYjVcH2mFvsX9539jN0J6Xc?= =?us-ascii?Q?iOABJVX/e17YsqJj43ZZhUvt8LcHdl3hwMtmOV+1yK133bTceSE3cZRuDEzo?= =?us-ascii?Q?wz7xC99ng8r9aMQ9pwEtrBUsTc7e1UX04NcpYtGRpHN9Kt1eP+5DKCtFk8Aq?= =?us-ascii?Q?NPvE1Q64cBfQmL5KryHQiSbCua8nMW8hfDSoErEp8qNTETR1xj2a/O1afu8J?= =?us-ascii?Q?0ZBDrdOmVHWza+WH/GV3HYcZ7IiIavzD19y77dqI/KVCy4xOAbMZBuQ0USLg?= =?us-ascii?Q?tbIj7xmOkASyJJSMWKztKMz91NDJLdGcBpB9mn44ronab3ffQcr3myJYfQDs?= =?us-ascii?Q?ElP8CPr7k9sLgJMesx50T7CFDqx9f0xjRBHJmaaN9hH37Y42QmLP7xAfVwK1?= =?us-ascii?Q?ntrw8wfqgVada4qnlPRHLRkYddY+vGs97ix3qC3DCI5o3Y++qbm2j3ZOgS70?= =?us-ascii?Q?7ACvBEbqaniuqL9NUZuyczNEL1/+mfVBFKdD4BEqeiOHq0phkyGltaWrXN9U?= =?us-ascii?Q?zjgCn3v9sj9hyMkIG04F5VAI9QWUR7jXXj4R8ax4Lm/M6Ny95v+Zopx9Uj8m?= =?us-ascii?Q?zOABE2f0ld7bkQrtE/GXq1whNw6L6BBciro5weMA/uJxXnVhPL6QD6Ijb0GX?= =?us-ascii?Q?Mo5rmMvc+VYbuBaL/tPA2s10NNndH8wV49G5eAy3xfHrYFPrfC4+Pc6FbejP?= =?us-ascii?Q?xI6gsIbXmaUqIuFCeBFugx99oO+EXfiXg/Pmw/xXY+OMPJONB+xVtxuJnF3w?= =?us-ascii?Q?+hXLsdFxpSnJXJnNlXgdCUDzvB5RD72JJeAmxJ/MgJajOiXA+8Dl6oHQWD9m?= =?us-ascii?Q?cx7HseswSwCtwMLNZ3Gdo/3ztQapL1AAyZeqYTyEERYPxObo8JiymvN/WdZV?= =?us-ascii?Q?7+2MMXHBgdv73hxU4+rPcniDfW1Eap9mtYacAx/QjPXXo5UquPXi58bVQOii?= =?us-ascii?Q?ttSnFf2qxQ3vJMSzDLgqaOw8TvJc6TkzdI2MGejN0jey7PATzcX2rcLrKpSi?= =?us-ascii?Q?qSZcQVmd+AsFjhugmsfXr7z33E+LyV1orhzD0Poy6bWthOuGb0Lwzc/A5UbU?= =?us-ascii?Q?b4LpdZQjhHTIwsxvkCrX2GYFmjNIh02muLOkY1QTclQcOx93kjXdHCEDjBLw?= =?us-ascii?Q?8FrtdWsglMHegiv+kL/4qNk/LOmHkRBBiWnaSlIixfdW/0fkvdXtjYR84NQZ?= =?us-ascii?Q?gDyOek/vQ+LET1loLyu5lZjKu/NajLQ7XlR4mQdaIL0qNMbavIoi7vQuL7vW?= =?us-ascii?Q?E9evbX6foz18+ZP27TdYruMpftXtbYybsMsKQm2BwaGUmjN241P4ycMZqKwa?= =?us-ascii?Q?98h9QA=3D=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)(36860700013)(376014)(7416014)(82310400026)(1800799024)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2026 11:33:44.0169 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0d5c052e-89db-40f4-fb7b-08de5817c4b0 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: BL02EPF00021F6F.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PPF864563BFB Content-Type: text/plain; charset="utf-8" The "sched_domain_shared" object is allocated for every topology level in __sdt_alloc() and is freed post sched domain rebuild if they aren't assigned during sd_init(). "sd->shared" is only assigned for SD_SHARE_LLC domains and out of all the assigned objects, only "sd_llc_shared" is ever used by the scheduler. Since only "sd_llc_shared" is ever used, and since SD_SHARE_LLC domains never overlap, allocate only a single range of per-CPU "sched_domain_shared" object with s_data instead of doing it per topology level. The subsequent commit uses the degeneration path to correctly assign the "sd->shared" to the topmost SD_SHARE_LLC domain. No functional changes are expected at this point. Signed-off-by: K Prateek Nayak Reviewed-by: Chen Yu Reviewed-by: Valentin Schneider --- Changelog rfc v2..v3: o Broke off from a single large patch. Previously https://lore.kernel.org/lkml/20251208092744.32737-3-kprateek.nayak@amd.co= m/ --- kernel/sched/topology.c | 48 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index 649674bb6c3c..623e8835d322 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -776,6 +776,7 @@ cpu_attach_domain(struct sched_domain *sd, struct root_= domain *rd, int cpu) } =20 struct s_data { + struct sched_domain_shared * __percpu *sds; struct sched_domain * __percpu *sd; struct root_domain *rd; }; @@ -783,6 +784,7 @@ struct s_data { enum s_alloc { sa_rootdomain, sa_sd, + sa_sd_shared, sa_sd_storage, sa_none, }; @@ -1529,6 +1531,9 @@ static void set_domain_attribute(struct sched_domain = *sd, static void __sdt_free(const struct cpumask *cpu_map); static int __sdt_alloc(const struct cpumask *cpu_map); =20 +static void __sds_free(struct s_data *d, const struct cpumask *cpu_map); +static int __sds_alloc(struct s_data *d, const struct cpumask *cpu_map); + static void __free_domain_allocs(struct s_data *d, enum s_alloc what, const struct cpumask *cpu_map) { @@ -1540,6 +1545,9 @@ static void __free_domain_allocs(struct s_data *d, en= um s_alloc what, case sa_sd: free_percpu(d->sd); fallthrough; + case sa_sd_shared: + __sds_free(d, cpu_map); + fallthrough; case sa_sd_storage: __sdt_free(cpu_map); fallthrough; @@ -1555,9 +1563,11 @@ __visit_domain_allocation_hell(struct s_data *d, con= st struct cpumask *cpu_map) =20 if (__sdt_alloc(cpu_map)) return sa_sd_storage; + if (__sds_alloc(d, cpu_map)) + return sa_sd_shared; d->sd =3D alloc_percpu(struct sched_domain *); if (!d->sd) - return sa_sd_storage; + return sa_sd_shared; d->rd =3D alloc_rootdomain(); if (!d->rd) return sa_sd; @@ -2458,6 +2468,42 @@ static void __sdt_free(const struct cpumask *cpu_map) } } =20 +static int __sds_alloc(struct s_data *d, const struct cpumask *cpu_map) +{ + int j; + + d->sds =3D alloc_percpu(struct sched_domain_shared *); + if (!d->sds) + return -ENOMEM; + + for_each_cpu(j, cpu_map) { + struct sched_domain_shared *sds; + + sds =3D kzalloc_node(sizeof(struct sched_domain_shared), + GFP_KERNEL, cpu_to_node(j)); + if (!sds) + return -ENOMEM; + + *per_cpu_ptr(d->sds, j) =3D sds; + } + + return 0; +} + +static void __sds_free(struct s_data *d, const struct cpumask *cpu_map) +{ + int j; + + if (!d->sds) + return; + + for_each_cpu(j, cpu_map) + kfree(*per_cpu_ptr(d->sds, j)); + + free_percpu(d->sds); + d->sds =3D NULL; +} + static struct sched_domain *build_sched_domain(struct sched_domain_topolog= y_level *tl, const struct cpumask *cpu_map, struct sched_domain_attr *attr, struct sched_domain *child, int cpu) --=20 2.34.1 From nobody Sat Feb 7 08:45:34 2026 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012051.outbound.protection.outlook.com [52.101.43.51]) (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 BD6F24218B9 for ; Tue, 20 Jan 2026 11:34:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.43.51 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908847; cv=fail; b=oDZzZ2FTax1Ne+ozoLf3lv2SOZcQ0FeE/0wTfiL/kph00O57vYi3zCCv1DJANizEuTYAHgmXEujf1fvNTXeyLQQUKifU5Uy9a0hHEiVWz6gCN2KBeZgBhr5HOz+4eTV1ywUXmrxvUjKH88L4G19Vc7tMbO98s1Y79GdqWvbfDng= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908847; c=relaxed/simple; bh=drr895jtMfxvPw1hnVW2qwVqLM4uzvIEiT6IJ2RKjWA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=i5O6pR0LSWdaMweiEEiS4vHiAaRht6zCmrJK3NIYHC0xxEi0++5fb8wJRRwGY2lLtsBhF6nht/tv9Hs2dYXl5xlrewr12jJd8Tj381CrV26IQFwbaHv13rzB2xfkMBDJZAGhdXFsXarmhewUl3+X6DwBEhk+fObzQdlw56mq8cI= 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=Ku8ZUUeW; arc=fail smtp.client-ip=52.101.43.51 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="Ku8ZUUeW" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D9IZgRlGu87YDzcDff5U57liRR2aTVSImE0pyjBkm7sKc6qg52Fswum16XjmEMF8QEBwdw6NDSsJESbwInFxNrH8NCLqDwXWNWTA3FSLKUu1G/IgwegBfaCydPICzhbqj6f4z6IsUoMxvjKdIyARmgHau1n1Moz5QfMixEbxP2xqJcjAne0o8F8w41BrTs4ZbLIzLgIyKtaJSeJM4ndM1JI5qIq1VV/R6m8omSnNvZ/39bjaJZkaB45g8tEwMDG4JXYXWpnZRRO/Gf1mu77SgVpPYdwHgYvEaLP72uOTO1gANB+iB/dlKlPPfm9fRtE6XaSA57VX1vnXQIBRHJm79g== 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=JsmmGDJLoxK/oJeR4uEwsg3M3PVyGEHGqbunFAXjg20=; b=f8EWwqulJKXhErYDtVzG9kmEpWcboD/CaZu0aQZ12pIo6+fzGRRjVoFmMCHp1BOzKFUmOub+UkWAodLMXZ0+OYSmT0JWN1w5GyHtEcYvVNf2sKCxuii7prvOW+/VK6ZHRO2pwn/0GXUEAXEaz8/xBM0vOBevMXa17A7w990D2q2PvEVUoGMqZjRlFg3rt7M+Uowcphi9np5L0KNRvNvdvFmhXzp/Vjqki9hjQaFvRmv7yCt6q1GoCt8utLBoukGdSwjI86s4pX6FisMgHBjDZMl7fboTqBzyRzixjns8OINBYdH0KkkHqetnwsAOnsPoLQJRqH7ydIxKsvAt2k+qlw== 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=JsmmGDJLoxK/oJeR4uEwsg3M3PVyGEHGqbunFAXjg20=; b=Ku8ZUUeWPOfQycDRHOLIjIpxTYxZQ9YJ6kfZ3gJpcHPZcxGR58ENR+yeR9OigQv3j2g0O9C1tBWvoqaKM7dos34iWR3bINwVtDRzB1iGxflZK5gVBHT58qkd6nKPnNlWRP7U8GvxhcE0rdqdYP1TlWo/NQERD/nzaJoXNDGn/Xs= Received: from BL1PR13CA0165.namprd13.prod.outlook.com (2603:10b6:208:2bd::20) by BN7PPF521FFE181.namprd12.prod.outlook.com (2603:10b6:40f:fc02::6d0) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.12; Tue, 20 Jan 2026 11:34:02 +0000 Received: from BL02EPF00021F6A.namprd02.prod.outlook.com (2603:10b6:208:2bd:cafe::40) by BL1PR13CA0165.outlook.office365.com (2603:10b6:208:2bd::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.9 via Frontend Transport; Tue, 20 Jan 2026 11:34:02 +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 BL02EPF00021F6A.mail.protection.outlook.com (10.167.249.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Tue, 20 Jan 2026 11:34:02 +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; Tue, 20 Jan 2026 05:33:56 -0600 From: K Prateek Nayak To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , CC: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Chen Yu , Shrikanth Hegde , "Gautham R. Shenoy" , K Prateek Nayak Subject: [PATCH v3 3/8] sched/topology: Switch to assigning "sd->shared" from s_data Date: Tue, 20 Jan 2026 11:32:41 +0000 Message-ID: <20260120113246.27987-4-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120113246.27987-1-kprateek.nayak@amd.com> References: <20260120113246.27987-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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6A:EE_|BN7PPF521FFE181:EE_ X-MS-Office365-Filtering-Correlation-Id: 37d6ccf9-867e-49da-505b-08de5817cfa0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|82310400026|36860700013|1800799024|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?QlAiXmtCbAaeAG9rLJ0MqkZVB8ZDWaIZlouRWIYGH7o+SnUTFen5HY33j4BF?= =?us-ascii?Q?XpS0KrrNZycIKj0fH6OTQNwgnO5C9k+fYBuDK9xFU5MIKVIAzXxA/oE9EObN?= =?us-ascii?Q?4y3BH1hnVYVNB+rx7OPtWFEEfdJYiZJhgYfLq7969C2sFj1dREE/KPMkbJrS?= =?us-ascii?Q?u7SKf6d8YxYnWj+yerUJUx8ZOAo/jvUjBXk1yNQh3kpX/AxXTfBKmSNo0sRQ?= =?us-ascii?Q?1GJFdJMSVfeaq81B0bBW4ov1a1hxZtSk1oP0wPlOH1bhgRvOghJvq+OExJJo?= =?us-ascii?Q?pvo/5qFawkZNin83KwpovDAXOVhbyMxagJt/Y0vyar1xfl6+llQPXA9olatX?= =?us-ascii?Q?8MqqoMIV3JFsGs33M6UhFWBCf/Tl61OEp8TO3gjS18RrgKk66i1VkmoQJMwZ?= =?us-ascii?Q?N3sa1CVfewYjvoK7Fs5wvcOFe/KIdcqRb27wuKfV7QDdRxA3Yn9++qy321ik?= =?us-ascii?Q?A+N974NYJXuaJTys8v3JtC9ibIAvJmXIXlPZahoAv+G04CB6jF9IsZgHuR3v?= =?us-ascii?Q?vE9TVrZOed89h3j65S9WzxYrJvluKRZ21sUdRid6tdYaXCYNuZ3m0Nh14Mr1?= =?us-ascii?Q?f3wOXqmQelhD7v38bZcpydX5kMVcjS8CUvz3yjUftJ6IQ76ogc1dvPRwRnGP?= =?us-ascii?Q?yM+6uftIR1oeMd3lLP1cxPTXFLslq0GR7IbWiPFUbppqq1hbw+JvFoAQXyzY?= =?us-ascii?Q?C1sVCriOzlg2yV9M/a4LnegK4uzu7DUMqXabi9xxjkwDFbdVEXzMenprZsE9?= =?us-ascii?Q?1JL9BOLbCbpHTW0DRB7KRVOPPg4XyVyt5ryOj/wKNs+/SWBxag2KPr2rZhb5?= =?us-ascii?Q?+nMtdzXvt7TtYAtdSkdoq1HCL6p/Ei4ejMhrVpHD3H2/M105zA4JCT4ImegV?= =?us-ascii?Q?U23ftl17GPP19iQlb19M8UnB39K1iT4934T39EBaSDZV+cW6Y92amwLK2u7+?= =?us-ascii?Q?hChkpvsRC16TNg/cO/3vOHskwW2wiTZNjk1GB+sQF2BklkGp69tGRpqz+pPC?= =?us-ascii?Q?vGiLX9qdUn5J1Z6F1TK7c31/BoDBwK/gmruHP0DVhC+9mezmuajvTjhx2L7+?= =?us-ascii?Q?ywIsShH0bBPdrE0khqp8S48u3kwCPWVVOKOyTGB/a0EajuoltzsITynMus1n?= =?us-ascii?Q?wdKyOeyq0uPOYAg8c91RyCCfu/OMQoMtAVl0tFfDDaZWA0d8QSTLCykAw6oY?= =?us-ascii?Q?bXZ6uIhw3oDbXIo/syBM8PS5AXqnLxCxfhmX4PwzP/s2+v46CXTVJN4PmXaO?= =?us-ascii?Q?cOxOLE2a1VrkRLQPmrixV5nAo/6sDeeSyJbMPnefZ1QF9xteI7qc+/9WpC37?= =?us-ascii?Q?CJAgvgtvRfzeiHDEcG2zyLZfg/qvuA5KnHtYrkMDJfvWx3m5FRpyqADQ1vpv?= =?us-ascii?Q?rxu74MH9DIIzOmE9HNeQbUOI/7gGTIT9q5OSiRc/R+kMAzrJ0iO8+TqLQ88j?= =?us-ascii?Q?6oIefhhwajWL50elcbBlCszFqOBmQq44dkgupw+JJ7FDlDF1W2RhNDo6+P6w?= =?us-ascii?Q?oCy4k8w+wmgPBxc4UjlgcgNzr7LKP/kkWMSo4U3TWUrwFyNJsWyanVPn26kV?= =?us-ascii?Q?dyWRL02vkG+PbYFkgzgCIu3RLHMoQbZeTe+Fa8kPaJdAGfv8T9kaeBcueglO?= =?us-ascii?Q?jRw0AQ7COt4NNgQv9vWyiCWhtDmhd2tGxEtTIRyCmWRYpnryleJ4FdtKRgRh?= =?us-ascii?Q?xVzJvQ=3D=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)(7416014)(376014)(82310400026)(36860700013)(1800799024)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2026 11:34:02.3640 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 37d6ccf9-867e-49da-505b-08de5817cfa0 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: BL02EPF00021F6A.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PPF521FFE181 Content-Type: text/plain; charset="utf-8" Use the "sched_domain_shared" object allocated in s_data for "sd->shared" assignments. Assign "sd->shared" for the topmost SD_SHARE_LLC domain before degeneration and rely on the degeneration path to correctly pass down the shared object to "sd_llc". sd_degenerate_parent() ensures degenerating domains must have the same sched_domain_span() which ensures 1:1 passing down of the shared object. If the topmost SD_SHARE_LLC domain degenerates, the shared object is freed from destroy_sched_domain() when the last reference is dropped. build_sched_domains() NULLs out the objects that have been assigned as "sd->shared" and the unassigned ones are freed from the __sds_free() path. Post cpu_attach_domain(), all reclaims of "sd->shared" are handled via call_rcu() on the sched_domain object via destroy_sched_domains_rcu(). Signed-off-by: K Prateek Nayak --- Changelog rfc v2..v3: o Broke off from a single large patch. Previously https://lore.kernel.org/lkml/20251208092744.32737-3-kprateek.nayak@amd.co= m/ --- kernel/sched/topology.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index 623e8835d322..0f56462fef6f 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -679,6 +679,9 @@ static void update_top_cache_domain(int cpu) if (sd) { id =3D cpumask_first(sched_domain_span(sd)); size =3D cpumask_weight(sched_domain_span(sd)); + + /* If sd_llc exists, sd_llc_shared should exist too. */ + WARN_ON_ONCE(!sd->shared); sds =3D sd->shared; } =20 @@ -727,6 +730,13 @@ cpu_attach_domain(struct sched_domain *sd, struct root= _domain *rd, int cpu) if (sd_parent_degenerate(tmp, parent)) { tmp->parent =3D parent->parent; =20 + /* Pick reference to parent->shared. */ + if (parent->shared) { + WARN_ON_ONCE(tmp->shared); + tmp->shared =3D parent->shared; + parent->shared =3D NULL; + } + if (parent->parent) { parent->parent->child =3D tmp; parent->parent->groups->flags =3D tmp->flags; @@ -1732,16 +1742,6 @@ sd_init(struct sched_domain_topology_level *tl, sd->cache_nice_tries =3D 1; } =20 - /* - * For all levels sharing cache; connect a sched_domain_shared - * instance. - */ - if (sd->flags & SD_SHARE_LLC) { - sd->shared =3D *per_cpu_ptr(sdd->sds, sd_id); - atomic_inc(&sd->shared->ref); - atomic_set(&sd->shared->nr_busy_cpus, sd_weight); - } - sd->private =3D sdd; =20 return sd; @@ -2655,8 +2655,19 @@ build_sched_domains(const struct cpumask *cpu_map, s= truct sched_domain_attr *att unsigned int imb_span =3D 1; =20 for (sd =3D *per_cpu_ptr(d.sd, i); sd; sd =3D sd->parent) { + struct sched_domain *parent =3D sd->parent; struct sched_domain *child =3D sd->child; =20 + /* Attach sd->shared to the topmost SD_SHARE_LLC domain. */ + if ((sd->flags & SD_SHARE_LLC) && + (!parent || !(parent->flags & SD_SHARE_LLC))) { + int llc_id =3D cpumask_first(sched_domain_span(sd)); + + sd->shared =3D *per_cpu_ptr(d.sds, llc_id); + atomic_set(&sd->shared->nr_busy_cpus, sd->span_weight); + atomic_inc(&sd->shared->ref); + } + if (!(sd->flags & SD_SHARE_LLC) && child && (child->flags & SD_SHARE_LLC)) { struct sched_domain __rcu *top_p; @@ -2709,6 +2720,9 @@ build_sched_domains(const struct cpumask *cpu_map, st= ruct sched_domain_attr *att if (!cpumask_test_cpu(i, cpu_map)) continue; =20 + if (atomic_read(&(*per_cpu_ptr(d.sds, i))->ref)) + *per_cpu_ptr(d.sds, i) =3D NULL; + for (sd =3D *per_cpu_ptr(d.sd, i); sd; sd =3D sd->parent) { claim_allocations(i, sd); init_sched_groups_capacity(i, sd); --=20 2.34.1 From nobody Sat Feb 7 08:45:34 2026 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11011015.outbound.protection.outlook.com [40.107.208.15]) (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 8EDA0392C59 for ; Tue, 20 Jan 2026 11:34:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908874; cv=fail; b=Myz5kfXJtwZgRFQKnIkfRNRmaGCy9Lz9K0IPNu/360aBF6nJyNu7fRunSvHWWTnmID0J0T27o/h1UAJjRvMOcRg3TAZCWRWCmu3d09y62piv1zYUnSLiphsp/HZDgyejgnfxyPY2py5ZG6KTvCWDjrGkO8iqNzJQY1wcd6uAghg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908874; c=relaxed/simple; bh=ozpmrwqe/lXcS5+n6uJtT00FIOCAYcNh0/1+3BLFIg4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZkclmewRAQsLA3dpUj3yY44sdBHD/B2c3lkCIWGivCZVoGJZZlyxR8dZK9C/I5SS36Xoa2WLvChxBef7k7SeG20vmV0xSa2saik4AN9reIIdImXYEul3M0DGeR6hyJ7q1fg2r940OzCZA6TaZMyS97tQSoebj2loLwNu708kiB0= 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=jb8x/rvh; arc=fail smtp.client-ip=40.107.208.15 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="jb8x/rvh" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cmuWjXmvN2Hpv/JPoWpdvQ/NKIT0YfuPF9WD/lP+Sf6DUDq8m0hiPzQg2AFstZHVcmiW+WFT+KGDYkqf7nYwNOm6A5V/4izUZYGUR5uU3EV0Ws3Asfa/yEGS1tlKWK7L1V+D2qoqGkxzNEQi6TXD9Rpb/pNK3tKbU/C6nr+g3FFgxp1gbliS7krnJ+ueAODPZGCbxwR6bJSXWNFtZOBc6uYDjpY+8kiRqVUrtUipx+7wXLMKUChLHZTU4iFprzV+YCnAUbDlKKW3031amKmO2wfPGgcAHjiTpzU8JVhacN5+ONGfymKxMNcnBWW5pIcYxLeikhg/HOdTNYqznTFa6Q== 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=WjEdN71hHu2hPPLejKEpQ2kD4jxlC9ZkTUjfow6PIso=; b=xf+CQhpNOG/NY8xp5RdiGnM3mm7DXYrIr2mfr8NE/ppbci75N6gS+BbZO0z/FsSvcDufJAKxuyjtkdHu8jozc81tJOfLUevkAIU7TCLVqA8Bn6OALJMFN5te0HE03LYzgIAsegmhCPf3Iz0eLYbU98PGrStnzdNkkDrlabsmH15F9TECtLs5boeVG/RY2/NLLxfT321uZMF/JuuvQO4QPdoT/UUnhY47DVf88C00c2uQic6HeNP6wRc9tNcMsHscJL99wm6SzoLBhiES6GMXQfcQoVzfeIn28jynWknAg/5HswIFsOTdn2BPjolAlJINfSKiWnx4rkOAfMU/5AlYig== 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=WjEdN71hHu2hPPLejKEpQ2kD4jxlC9ZkTUjfow6PIso=; b=jb8x/rvhyxSRs4A46r4AIokyv6Y51QaolHv7rDPW9BKYHfSxohiIcenkCJFv23oSOzpuTFCvteKhlomoiVWGvxD7GcYintF6Ly2/ENXPVC8yIptRmcLemTq50ZPmdEJBKRFRd0//kWW5XMnJFnlRZ1eEL7pRpBJZ2ExXf+xwB7s= Received: from BLAPR03CA0127.namprd03.prod.outlook.com (2603:10b6:208:32e::12) by DM4PR12MB7742.namprd12.prod.outlook.com (2603:10b6:8:102::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Tue, 20 Jan 2026 11:34:23 +0000 Received: from BL02EPF00021F6D.namprd02.prod.outlook.com (2603:10b6:208:32e:cafe::a2) by BLAPR03CA0127.outlook.office365.com (2603:10b6:208:32e::12) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.12 via Frontend Transport; Tue, 20 Jan 2026 11:34:22 +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 BL02EPF00021F6D.mail.protection.outlook.com (10.167.249.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Tue, 20 Jan 2026 11:34:22 +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; Tue, 20 Jan 2026 05:34:18 -0600 From: K Prateek Nayak To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , CC: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Chen Yu , Shrikanth Hegde , "Gautham R. Shenoy" , K Prateek Nayak Subject: [PATCH v3 4/8] sched/topology: Remove sched_domain_shared allocation with sd_data Date: Tue, 20 Jan 2026 11:32:42 +0000 Message-ID: <20260120113246.27987-5-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120113246.27987-1-kprateek.nayak@amd.com> References: <20260120113246.27987-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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6D:EE_|DM4PR12MB7742:EE_ X-MS-Office365-Filtering-Correlation-Id: f29ae199-a996-4b47-2137-08de5817dbe1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|36860700013|376014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?wm8F3hHaDj8o4uCnZoEHgWdIeZpcK/pLatSWHBFEhEsl24QTvuviIFkKP8QT?= =?us-ascii?Q?8C7HRt8uLnHJe+ALAW6zHmSoaV8GcNSwubygGo8gzg5B+zPoUQMdigNPHE2D?= =?us-ascii?Q?Itqsg3gjVKLC+V/oiRUXZwBG246aVhPbYWSV8+crBywpRXKo52QAg7FMOguC?= =?us-ascii?Q?9oIrvvYCnwQa+97BKPL0LOnYjSuzsR/zLPndV32NNXjjy2wmw/49aWU8lPhW?= =?us-ascii?Q?YC0SvKv2D4DCtUvjx/rSuZN0n39+cANhD2yeb0dXmKat9gMUq3p4XpviU/uv?= =?us-ascii?Q?bkdnKdocnKyFfsu1ynVHxhkQj93OqynNi9srRYiFEC0HmKCvC+qRpsLlSrOQ?= =?us-ascii?Q?YIaBE5hhi8ztvWgurTlDrkj7CW0iOz4raE2AWwPWbE+XsEnoPzm4FIn6GPjS?= =?us-ascii?Q?DQbdq2fkQO4yKipkUf42Mt48keX7eI7houfjeplqvli8nVT5nI5CxMxb2pUL?= =?us-ascii?Q?FZvSnwIQbDXjjZwCXJvusjUQ9QObWlPrOrmfF5yglkBGApQ/3riLIt2qmgrG?= =?us-ascii?Q?BpZ+b8QxOr2Hmz5E+1gU0a0L7v0ZA1h3MlmtDn6bSYmwNYyKl1HP2a8txw9m?= =?us-ascii?Q?p0e3ctPX+viJttf9z902zIcKYx09I89eGH/nj9eKxrpGHVmEVt0gENKvcX0j?= =?us-ascii?Q?5L1WYTVBu5KElqO3qN0BMm+sEcFPVg+14svq/NOPwLTNeGkrk+D8VxkyIge8?= =?us-ascii?Q?lsxVghBvLYwUZy/htuPONSXZMOxzodrnudkbpxEekS1kN8j9D9ldxspHam5N?= =?us-ascii?Q?WdQ4wSJwOGcc93nOuQ0f21jkx8SU/43F//kcK8K12wbUo8MbOwSCOzNXGeiH?= =?us-ascii?Q?DSzB+MYaCoAueRm4sBnw8KSWx1ZhSbF23h9HfdRKZYgstSsMDh5EDUjZ5+js?= =?us-ascii?Q?UH4PFPgKb+RauqG66Ox4j6/xX9bbV0JLfnKe/h0SBF+nhJXOUdBbhN+NZ/OK?= =?us-ascii?Q?cgWsZOiyjSBW/5E+K5YBFzbqqQ+cgZsH3ovE3tL2n3quLaAPJd4S/arBt4AI?= =?us-ascii?Q?ZAC8QVZkx+22ZE1jocj0aDUHPMQIBWjAh1ga+8X1ZMOGWxwN6CLapCtNxmaw?= =?us-ascii?Q?arRaHh0OK1Aa1GBBXEkHiGeQ0nZbGyoee2W/v4sJ0/r3c2ndFrRjYLTMRJRJ?= =?us-ascii?Q?uW3+NCiMf5Wt4feMWdlHr0C5eLjvZA3H56EjiW7qw0oiaTLLiI4gP26EMTnT?= =?us-ascii?Q?Gv/zu0195cd9zoJUIWuTFv9DfCY6D0SHRUNVO83UUg+tJaesRVEvahGIS7ST?= =?us-ascii?Q?DJeeH9zIrvUluM5ssW/hx+poaXtXeYYDDl8ZEnKOlAMx0+swkqynHLmm2Ci4?= =?us-ascii?Q?zIZMtRnux2dJLxf2Lp8zc+XZbrnmr83BWVab8W4+XVXJm3ppXY8F/wGHCW4I?= =?us-ascii?Q?HWeQKZzc2hpbiHZ31hpGwWeqcKneRg53X3nN0odMoBzxZhVAr4VKXp26O355?= =?us-ascii?Q?U7FOOsC9ymfgj5opZNjQPokdloinhMuOnSsJpq3db6cEtg3D+sBMtJE9PioZ?= =?us-ascii?Q?qZuH7As2VlYDnTHOE/xy0fRtkfwMIVwc20sdLm4L/EGl1TA0S4eMNYFqD66b?= =?us-ascii?Q?hriUgnmZWevTcoTFCDIL7hC2LY05G/z2dxYzDl08YY503WrRu9sSQU26wUAq?= =?us-ascii?Q?CcDyN2JrzdEl4G+H4nS52w5GtPkRiWqTnQChxawgRjsGAvBGaYeM0ttTAxVy?= =?us-ascii?Q?6Vpivq6rL/cD0LQJCzRF6Gatz2w=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)(7416014)(36860700013)(376014)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2026 11:34:22.9199 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f29ae199-a996-4b47-2137-08de5817dbe1 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: BL02EPF00021F6D.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7742 Content-Type: text/plain; charset="utf-8" Now that "sd->shared" assignments are using the sched_domain_shared objects allocated with s_data, remove the sd_data based allocations. Signed-off-by: K Prateek Nayak Reviewed-by: Valentin Schneider --- Changelog rfc v2..v3: o Broke off from a single large patch. Previously https://lore.kernel.org/lkml/20251208092744.32737-3-kprateek.nayak@amd.co= m/ --- include/linux/sched/topology.h | 1 - kernel/sched/topology.c | 19 ------------------- 2 files changed, 20 deletions(-) diff --git a/include/linux/sched/topology.h b/include/linux/sched/topology.h index 45c0022b91ce..fc3d89160513 100644 --- a/include/linux/sched/topology.h +++ b/include/linux/sched/topology.h @@ -171,7 +171,6 @@ typedef int (*sched_domain_flags_f)(void); =20 struct sd_data { struct sched_domain *__percpu *sd; - struct sched_domain_shared *__percpu *sds; struct sched_group *__percpu *sg; struct sched_group_capacity *__percpu *sgc; }; diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index 0f56462fef6f..cba91f20b4e0 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c @@ -1597,9 +1597,6 @@ static void claim_allocations(int cpu, struct sched_d= omain *sd) WARN_ON_ONCE(*per_cpu_ptr(sdd->sd, cpu) !=3D sd); *per_cpu_ptr(sdd->sd, cpu) =3D NULL; =20 - if (atomic_read(&(*per_cpu_ptr(sdd->sds, cpu))->ref)) - *per_cpu_ptr(sdd->sds, cpu) =3D NULL; - if (atomic_read(&(*per_cpu_ptr(sdd->sg, cpu))->ref)) *per_cpu_ptr(sdd->sg, cpu) =3D NULL; =20 @@ -2377,10 +2374,6 @@ static int __sdt_alloc(const struct cpumask *cpu_map) if (!sdd->sd) return -ENOMEM; =20 - sdd->sds =3D alloc_percpu(struct sched_domain_shared *); - if (!sdd->sds) - return -ENOMEM; - sdd->sg =3D alloc_percpu(struct sched_group *); if (!sdd->sg) return -ENOMEM; @@ -2391,7 +2384,6 @@ static int __sdt_alloc(const struct cpumask *cpu_map) =20 for_each_cpu(j, cpu_map) { struct sched_domain *sd; - struct sched_domain_shared *sds; struct sched_group *sg; struct sched_group_capacity *sgc; =20 @@ -2402,13 +2394,6 @@ static int __sdt_alloc(const struct cpumask *cpu_map) =20 *per_cpu_ptr(sdd->sd, j) =3D sd; =20 - sds =3D kzalloc_node(sizeof(struct sched_domain_shared), - GFP_KERNEL, cpu_to_node(j)); - if (!sds) - return -ENOMEM; - - *per_cpu_ptr(sdd->sds, j) =3D sds; - sg =3D kzalloc_node(sizeof(struct sched_group) + cpumask_size(), GFP_KERNEL, cpu_to_node(j)); if (!sg) @@ -2450,8 +2435,6 @@ static void __sdt_free(const struct cpumask *cpu_map) kfree(*per_cpu_ptr(sdd->sd, j)); } =20 - if (sdd->sds) - kfree(*per_cpu_ptr(sdd->sds, j)); if (sdd->sg) kfree(*per_cpu_ptr(sdd->sg, j)); if (sdd->sgc) @@ -2459,8 +2442,6 @@ static void __sdt_free(const struct cpumask *cpu_map) } free_percpu(sdd->sd); sdd->sd =3D NULL; - free_percpu(sdd->sds); - sdd->sds =3D NULL; free_percpu(sdd->sg); sdd->sg =3D NULL; free_percpu(sdd->sgc); --=20 2.34.1 From nobody Sat Feb 7 08:45:34 2026 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010042.outbound.protection.outlook.com [52.101.61.42]) (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 9C0DC423148 for ; Tue, 20 Jan 2026 11:34:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908888; cv=fail; b=ZsehTlbvSoUVafyrr8R/VD/FPo+TQiDv74TjW3Qj5U1bRAEEW9t/4yyy30HZj6ofaRpn0FdMDwkU5U+KBWtSuzfbsgU0JK/jiVPlFrlULR8S0eQkm3SBDFDC/pnCd2BqXDeljx6gcVNw2w38tGjiwheM277xUCB7l+5jIPWCCb0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908888; c=relaxed/simple; bh=6V8NB/lY1lq8afZQDAt6k1PCXBiT1RYjwluyYkniVcg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jRQHPBuYnjv41/6SJGTDLEB51yMiHzPuFt6qdvU8C+cV1Fn/98l6NeEetlBpUEa2fWPcZGFKPks9kKjlrMpIvp22XRSD0Ak6JB/FQ4T8jmE3SsTsU15MN+t6QWfoOSQnLeJ43oLr3zqXvGxU6snyc+cmcQIMqYv/PKPDvU9ac2U= 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=tB7NpdsG; arc=fail smtp.client-ip=52.101.61.42 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="tB7NpdsG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=F/spB7XcwT10kH12ObQR97+QTlmJlkE7U/C750BSpuUObo9W86uM9cCnEo4d//1Twm70ntYUIGTeAyG1LEELDGFDlV93HelYQw3UxXQeuHTPAt+QEtmYgbqu6LaHLEDOT+rVSk5sQrrq/YB+P+gNmbXdReTTJNFtVL5hDjh35fh83r9iiVxo6JByZBhyg/l4VISZNVh+TvpWEBaczRbnUWxNq9rYg5qe82UQo+/4GxS6Hhj01O5GFvmxF3iVASWGj3qu0CKqdIG6elWzx1J6kDzSPJFrxzHdAJv/8B/f2Q/2wSaurZUQ8I6J9fayk22WV/zDpA9c63uFOMj5NpMnLQ== 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=aT0+diTXydfQkcG61sF4tCcqy3pflKiVcZx9VxLj/nU=; b=d7MGwg9zg+C8w83mtZ+nnxZ7mATTUX/BdnzlL5NFAUx1A5BkQdjzSnG0vajWLIPgNWJvLLqD/5sWLGVv2bipn26KxG1WMRCiLvhhlyRxeVgw19iL5D3YkLLB8Qj2SbGO0AVc37kzFzHPqb7NVczOjLtsGDY0yBO2N/Js2JjmRXS2Le3tj4wIKllG+px5Gy9dLEoAMK8Wi8eDHG331LVQ5ai3bhk/OUU5HULsYW5bmRvnPzR/XL5h55ry6qIxKBCgydA51oC0YZJEfgD/+Q27I+aOfeZakQQow2Ps1C3RdfTHBAxSfQqcMkH/fpAtBFAA8DHw5Xi/LYc2lMocOJafIA== 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=aT0+diTXydfQkcG61sF4tCcqy3pflKiVcZx9VxLj/nU=; b=tB7NpdsGxnDuMdGKPz+jU05MiOGBvtJ3ugThWM4x1ArvUrS04Seufiig2VXmMbrnE2xlTZh3DhRVzs+907plXmxY/e/IMIBSM5Oniu1ey+QwkJjYtq+79FtmfG1RnMK+LMNbIpK/b4uem3Zjvk7rJ5SBnhffMg2MOITXC99gJFM= Received: from MN2PR15CA0065.namprd15.prod.outlook.com (2603:10b6:208:237::34) by CH3PR12MB9731.namprd12.prod.outlook.com (2603:10b6:610:253::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.9; Tue, 20 Jan 2026 11:34:40 +0000 Received: from BL02EPF00021F6F.namprd02.prod.outlook.com (2603:10b6:208:237:cafe::9b) by MN2PR15CA0065.outlook.office365.com (2603:10b6:208:237::34) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.12 via Frontend Transport; Tue, 20 Jan 2026 11:34:38 +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 BL02EPF00021F6F.mail.protection.outlook.com (10.167.249.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Tue, 20 Jan 2026 11:34:39 +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; Tue, 20 Jan 2026 05:34:35 -0600 From: K Prateek Nayak To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , CC: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Chen Yu , Shrikanth Hegde , "Gautham R. Shenoy" , K Prateek Nayak Subject: [PATCH v3 5/8] sched/core: Check for rcu_read_lock_any_held() in idle_get_state() Date: Tue, 20 Jan 2026 11:32:43 +0000 Message-ID: <20260120113246.27987-6-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120113246.27987-1-kprateek.nayak@amd.com> References: <20260120113246.27987-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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6F:EE_|CH3PR12MB9731:EE_ X-MS-Office365-Filtering-Correlation-Id: 3d786f1c-cad5-4adc-6931-08de5817e60a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|376014|7416014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?g8t1VVyMIuUU+YY/hsiTD32ulTutvv/frPIgrfcrB3+WBzUPUjrIk/8jTVZL?= =?us-ascii?Q?YHMQU51ZWJ1ZPmLKNiyL3cShJk+s5alD+eLC1ERbrLfSPw/YZs5nuSO2Yx4S?= =?us-ascii?Q?w4kWHXnEzGn6budM/zDhfP3yLhb65QRzmPi7FnhEqtcLnhgC4L5Yi8NDgzr5?= =?us-ascii?Q?Kz3rENCPJ9CMnIFLb1OBUcVKNtdlgBYUdB8eb5lDYAAOyXppvo8hpSb+3AA2?= =?us-ascii?Q?4tBW2eVdhQUJrf+veNW/ErUi3965pCum8l6Rb+EuzSM6uezGgnPyZ9buYKXX?= =?us-ascii?Q?yBRYKFaWUIcpNZxChuZypsX38eFhzj/0okYVcv3QfRPK+jGuA4X342yG+nfW?= =?us-ascii?Q?9hSvBNWBdHWbhtZGBfYNecNn8pt8bydvhvW/ZOeHCIBOyHB6Rb1U75uGoJ3/?= =?us-ascii?Q?RBwL4EXZWYL7u4H2vI97I4XOeXsnH6uUlShLOqo2uducFnSJXpSoYUMUuc/e?= =?us-ascii?Q?HrPq34ZjGtiAs5UpIhU0a9Kzq9sRDo6wNL1VRVBMGmxIONIyOBqCWNNXYsEW?= =?us-ascii?Q?/mvVU4ScGfWrbXcjTBg/+vA6AYo+trdnuBq9ruOha5NCyyWuQweZ+5sEETwO?= =?us-ascii?Q?L6WTp4yCBmPK0/YyqNkVqtXrHGKUrBneKGqAMoEv101WV5UR0S3tkSaZGE3g?= =?us-ascii?Q?crQXAA9GrhMNdxdW4IpyIMN7EcA+iRX36uINd9PL8VF7jLb7PBVi5GduftjC?= =?us-ascii?Q?o4kT6uQClcAGnSgl4xnZAnIM/zgeOSnFx+alg2qwmt4AzOHN3TEk2WDBzjth?= =?us-ascii?Q?XGknYPLzzLLqaDHzGYJBb74EdsLKAZ6us5LQBCwALjnbzQ0IQqDpMvR2yzZj?= =?us-ascii?Q?itIeWeJWsea5tfN+X/Wza0cKl2thr8JWNkvOIH94W+5VuJKSdJaXUuD4pN1y?= =?us-ascii?Q?WzeV053Vos0Jxt2m0R21UX5yKqZkkhnEfToJ8G9BImjTQC6AeJTdKXuc0eKN?= =?us-ascii?Q?YVTteU7TrO0KHM+qDG5sxsN2vwVxO2l/TPrhNFV6A+D4P5elYcDpeb8g3ErA?= =?us-ascii?Q?WAJBtYOOOJZjgV9cG2bKMXvC+mqGfSWG+bdlNsqVCrYfYXElnNRh/uMs+91S?= =?us-ascii?Q?HMsYJqPRYR9pnCgnaAcao3/u5i4PmKl/AWHUKvL65MmXunclVCPTXKkLKGRv?= =?us-ascii?Q?zXFyJx1g8TZbHRYfKnYxa8wNIFv9ysknB1aSaAi649iKQfTkjZlfxyYZwfUM?= =?us-ascii?Q?tmQQMoZp8IrmMzB+qBpQ8F1ST8NnAyLr48lsu19Xk1NRgLsPwWbimIs3n0DY?= =?us-ascii?Q?NDBCQvqBQbPm6NZwu/IWJSyP8NqnMC+HLbQHvwSlkdkvgSu9JGuGe+9dSB79?= =?us-ascii?Q?Qv+3lU8jduYnTwlPuTdiEx6GwEzciU1zGie3oKj5woG6AH2akvdgO9+2Gelg?= =?us-ascii?Q?8E7+9mbs2hE928MKwiZ7etLBzEU+xrVAB5dlCT8xDzJoMRxs1nOr/UQcdwkP?= =?us-ascii?Q?qarZrohjspDQDP4c5AnKbJ8eY090sb7/nmJOroQe4QoPn9OSqBaxrTtt4++c?= =?us-ascii?Q?VM2iluAxvETgO/qJC4iKda40i64536KDGOWPDXAxdmpfY1rEF+MRY+rP9R1a?= =?us-ascii?Q?Sfr28qEeD5BvEeTfL96QjPNjzXu4j+GPjN6y/Lef7yy8X6KECirPpDJb/Dh4?= =?us-ascii?Q?FBSusPDM6pPRXc+M5GcWTQVVSoH0MgBiBWeY7mqI4giv6+uSdBAUe5tjzCZQ?= =?us-ascii?Q?AkzPgg=3D=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)(82310400026)(376014)(7416014)(36860700013)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2026 11:34:39.9688 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3d786f1c-cad5-4adc-6931-08de5817e60a 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: BL02EPF00021F6F.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9731 Content-Type: text/plain; charset="utf-8" Similar to commit 71fedc41c23b ("sched/fair: Switch to rcu_dereference_all()"), switch to checking for rcu_read_lock_any_held() in idle_get_state() to allow removing superfluous rcu_read_lock() regions in the fair task's wakeup path where the pi_lock is held and IRQs are disabled. Signed-off-by: K Prateek Nayak --- Changelog rfc v2..v3: o New patch. --- kernel/sched/sched.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 58c9d244f12b..14fc9fca2502 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -2783,7 +2783,7 @@ static inline void idle_set_state(struct rq *rq, =20 static inline struct cpuidle_state *idle_get_state(struct rq *rq) { - WARN_ON_ONCE(!rcu_read_lock_held()); + WARN_ON_ONCE(!rcu_read_lock_any_held()); =20 return rq->idle_state; } --=20 2.34.1 From nobody Sat Feb 7 08:45:34 2026 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010009.outbound.protection.outlook.com [52.101.85.9]) (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 8903E3F23AA for ; Tue, 20 Jan 2026 11:35:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.9 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908902; cv=fail; b=PR41t/eSneU9Q/429XQPrFvv0aoSNyzrlGfSosr2XGy8X9PAwcGhxHBDkqt9CydyTfucWRm5LEM3NcwXoAg4GAX9FZlmdNK0BZhvCYw3FjTg7rV/LZjQA9FxKHBpFSJmc8YGXULaZ2Zku9YMuy/cCoQiFSRa48ygbwFRJGRD0WY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908902; c=relaxed/simple; bh=7sGagp0L5MsogxWhRvNZI0Ke1pRS9osp7pRo/h5v2hQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=a/pVfxfCV4tEbm18Czzs3qHtiT4VJAJE7ZnUw6TGsTyiCPY3ndgaxZG2Vryb1X3lVM8x+Nma3OLnliP+qSH/X5V8UGD5aT/C+H9TeeasjE6xG2Ne0fqGytHMVujplKnh2qW4mc9lc/g3DDBKLBmFwI7WPlERW0sfp3q/HMfLl1I= 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=CkewUVuX; arc=fail smtp.client-ip=52.101.85.9 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="CkewUVuX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Hwd0axcnM1ef4vC2AWowRU95OIx08sBHgIWOQKFFYpNEiHDeUGfSOq6bLgu63m9xYEKMmrqHu2ukksysxxjosFeK+OEe8zRMAhC0PUXLqO1BtL0AvPRx2osdbjIGijErvuMd0paxZU8fA7RbZwn5Ual+N8/cv+WpkTprTE+3CC3Gl2AGaMUpRYgWJosQg1lxf+S2tAkfN9Akoc0pvoZ1lVxy+s/9IoYrk0PFN54VMGP5iDbgF5dxFv3Sb43K3XtP6TPO8QPz5j8noFKohCYezwtDfUKb7K+CQD6oGBJAQrbfN8vdJoLaNq8rKnaNBIUGFyygDAEiPP2qbc1H8zd4xg== 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=itWOM+aVSQg2Eq3j5rb4z1DX60yBfzgSbjWtQlmHKIk=; b=eFrf7UHzwIKiZINzzt+G8un3bTS4ZEYJzPDDXkmYFP7FeXmSCpN3fjDd08OpAuPnvxr1k4rWOSuTB/OjmgFwKCtz/uFX0s2lz3gYTFoViUAO/TbisdxOwiZNsU7Bs+eeIfI7rRBV++5JrDh0pzRehcN2aoOKJxKGfqo6osaWrBJFl58DASbxEmWEUIqgkhWplFgbpEn1RAFOCmL373l8lrJyY8HnRjf9zrCVjD03BAohoiWbH4EuCS++uKD4JL5f+/UWMu3SlgUemCPjqTEGLgFtnyMqcRvnYrbi+aPJVo995GGpyO+hTmzK02hb2JODV9jJPYQNAWHog2sfDhphYA== 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=itWOM+aVSQg2Eq3j5rb4z1DX60yBfzgSbjWtQlmHKIk=; b=CkewUVuXsJBKpzkXBbe3ybcouUdYUE9bOelobIPtMozlbdpBF1XFYqRwAQHiUtrqccAeKYt2671clXNnmaD4D4bx5NSttK5tyLPrsgwP1JXsqRMN9Q0e9c9crZ2AC6+gHofquCHpeNUsdjgl3+ufFI/BkFYX7Aua4h7nhok7iIY= Received: from MN2PR15CA0063.namprd15.prod.outlook.com (2603:10b6:208:237::32) by CH3PR12MB8581.namprd12.prod.outlook.com (2603:10b6:610:15d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.12; Tue, 20 Jan 2026 11:34:57 +0000 Received: from BL02EPF00021F6F.namprd02.prod.outlook.com (2603:10b6:208:237:cafe::ec) by MN2PR15CA0063.outlook.office365.com (2603:10b6:208:237::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9520.13 via Frontend Transport; Tue, 20 Jan 2026 11:34:29 +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 BL02EPF00021F6F.mail.protection.outlook.com (10.167.249.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Tue, 20 Jan 2026 11:34:56 +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; Tue, 20 Jan 2026 05:34:52 -0600 From: K Prateek Nayak To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , CC: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Chen Yu , Shrikanth Hegde , "Gautham R. Shenoy" , K Prateek Nayak Subject: [PATCH v3 6/8] sched/fair: Remove superfluous rcu_read_lock() in the wakeup path Date: Tue, 20 Jan 2026 11:32:44 +0000 Message-ID: <20260120113246.27987-7-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120113246.27987-1-kprateek.nayak@amd.com> References: <20260120113246.27987-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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6F:EE_|CH3PR12MB8581:EE_ X-MS-Office365-Filtering-Correlation-Id: f03cc2b2-14f1-4968-cd13-08de5817f02a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|376014|7416014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?TXOnKHC3zfopdeCIh/Qyfv2Ecsd7qms7mdLGlPdb9TVWthbzEuCAXDrajUf4?= =?us-ascii?Q?+YIeMDxmaEPDJsxioFroWLPtbhDhTR3zpBwTWhN3KbRVZyKhoBaVV1MLc0MN?= =?us-ascii?Q?jjTFXm4nBGeaR8gpiMU8u7FFYFb1kXDfOUeSDKKE873KWrBlyzNu19MaCP0q?= =?us-ascii?Q?zEw7aTSCNGIV1F0vW4PxVj2LHeD7AFT54U29+QxLStjkX3vih+xdy6AWpZHs?= =?us-ascii?Q?SIa0zrWpnEkk4OHUu/ov7EuwDdPyibC/oxZblco308TOwj3UFP3aBRjqnJpg?= =?us-ascii?Q?tmpCNRbFLndmuUtwIHojqXveTx43m85h1FQ6yYXLJjRO1hC3PE9swZ57cg+N?= =?us-ascii?Q?24kTCyrssmr33P+f+piolTbWrCApe33OwJ64g6S92sh3oIM89k3wcqXwhdNV?= =?us-ascii?Q?nvRzzZBYLyBt1YazqPdnMJA5NsKobPm8RgNKrau2cRZn1J6DHxrGNEkUtjMF?= =?us-ascii?Q?TmrOcm4tNf1vbeElr1ChwA2Tguxln9ceswIcryXuhr682f+7KWRaYonJsuK9?= =?us-ascii?Q?gh6lOhOBfTvUSeFnh9+G0FjCV/pVbfyLjFRF6DXBuJ0HOXeuxoRDiNZgX57l?= =?us-ascii?Q?Oxux7v0UwLaaDPboTNdUYHparvvJapL9RCEDFnct3BsFzP4e3Eqf8serfoNC?= =?us-ascii?Q?J2aQBCekqxpbcdv98XgPoMJHrLb6vycUrkFS1rI3gcuAFNkPXTqVvez+nHTC?= =?us-ascii?Q?EkdbEnneGUn0OQy3UiOKBCmw4UOHRk0I+Yaike9++fVmauXKoru62rRn5MZi?= =?us-ascii?Q?wNK3PXdCoYhA5R8lkbNycINRassADC59nvU1vmp8ai8nXpUboYk80x6ziNtQ?= =?us-ascii?Q?CLkRgSIEHxCZE2fAjPfxXiBfz+aq75zRJz0o3v/XDEc3F2B44I5dsf/aO+by?= =?us-ascii?Q?Eo6a2iQpA1JIzRywGkEkqhpzrdL9Zz8We+o6vvvuXF1S12Jkpqbr68YZFtZ+?= =?us-ascii?Q?WIKK51b5rXsbAXzEu3mc2INLBwYZXm+Ue36j0+TKMieAGOqylmiim3jpfYdt?= =?us-ascii?Q?hQlRN3T4gqsOz6LK99+ZNHMD80xzceuszbTSpEAOm8FmwOuzOeY2uGePN+xR?= =?us-ascii?Q?eyD3bVy1+L7FWQnORNXegjftPEdlhQ/zpMzIt0wMdtpLTGPVixewqy3Zz26C?= =?us-ascii?Q?ZSrywtja2k6o6I2SwX5Zp/28wEfyW9YyPSSv7w5VyWIdVOBbaXTJgzx2bjbm?= =?us-ascii?Q?vQmilwL1telhsQxwEMv9FHuEbVqBURN2q2YONhf0TMdeiKhuJuvZ+KsI1Z91?= =?us-ascii?Q?4pcNEZq4gnLZCAQwaeCS0VknpGxEQlBVgwXOziF5rJKMnt3x/HbnGjTdzuHY?= =?us-ascii?Q?t28Wbuz3VLEBFbB4ptmV4WW74Gl7MUnTgldT8uAUBxTBWOtn93vwdsRzRC37?= =?us-ascii?Q?x8AZMw3tCR9Zc8pjs1Sc0yUSQfvKLDZiq2yz3aG+Xrze7K7CbCUDFfXJFt1C?= =?us-ascii?Q?sPPcnYL2WtHPPVzbrKumXB9cbrapcjkquiQx3jPsP51bqzfaQe6ZGyBe0i2h?= =?us-ascii?Q?BqqZb5C27udYy7AjG5k3YHHe6/2owWxNhitQA/VaEhKds+ovzP9RrD4+gdxV?= =?us-ascii?Q?cETXuzCtN2IHpXQOGNGXbtigOhr1Hi/fVv1so+IPzkgU7pJ0wCOdrbMTCr3E?= =?us-ascii?Q?rIFqaxLlgWXn7nd7rW43y643YnRMjjOczcvmFR8yTJNupi4tOv0l5f32UKRq?= =?us-ascii?Q?5NyWbw=3D=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)(36860700013)(376014)(7416014)(1800799024)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2026 11:34:56.9595 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f03cc2b2-14f1-4968-cd13-08de5817f02a 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: BL02EPF00021F6F.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8581 Content-Type: text/plain; charset="utf-8" select_task_rq_fair() is always called with p->pi_lock held and IRQs disabled which makes it equivalent of an RCU read-side. Since commit 71fedc41c23b ("sched/fair: Switch to rcu_dereference_all()") switched to using rcu_dereference_all() in the wakeup path, drop the explicit rcu_read_{lock,unlock}() in the fair task's wakeup path. Future plans to reuse select_task_rq_fair() / find_energy_efficient_cpu() in the fair class' balance callback will do so with IRQs disabled and will comply with the requirements of rcu_dereference_all() which makes this safe keeping in mind future development plans too. Signed-off-by: K Prateek Nayak --- Changelog rfc v2..v3: o New patch. --- kernel/sched/fair.c | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 04993c763a06..e4f208c44916 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -8323,10 +8323,9 @@ static int find_energy_efficient_cpu(struct task_str= uct *p, int prev_cpu) struct perf_domain *pd; struct energy_env eenv; =20 - rcu_read_lock(); pd =3D rcu_dereference_all(rd->pd); if (!pd) - goto unlock; + return target; =20 /* * Energy-aware wake-up happens on the lowest sched_domain starting @@ -8336,13 +8335,13 @@ static int find_energy_efficient_cpu(struct task_st= ruct *p, int prev_cpu) while (sd && !cpumask_test_cpu(prev_cpu, sched_domain_span(sd))) sd =3D sd->parent; if (!sd) - goto unlock; + return target; =20 target =3D prev_cpu; =20 sync_entity_load_avg(&p->se); if (!task_util_est(p) && p_util_min =3D=3D 0) - goto unlock; + return target; =20 eenv_task_busy_time(&eenv, p, prev_cpu); =20 @@ -8437,7 +8436,7 @@ static int find_energy_efficient_cpu(struct task_stru= ct *p, int prev_cpu) prev_cpu); /* CPU utilization has changed */ if (prev_delta < base_energy) - goto unlock; + return target; prev_delta -=3D base_energy; prev_actual_cap =3D cpu_actual_cap; best_delta =3D min(best_delta, prev_delta); @@ -8461,7 +8460,7 @@ static int find_energy_efficient_cpu(struct task_stru= ct *p, int prev_cpu) max_spare_cap_cpu); /* CPU utilization has changed */ if (cur_delta < base_energy) - goto unlock; + return target; cur_delta -=3D base_energy; =20 /* @@ -8478,7 +8477,6 @@ static int find_energy_efficient_cpu(struct task_stru= ct *p, int prev_cpu) best_actual_cap =3D cpu_actual_cap; } } - rcu_read_unlock(); =20 if ((best_fits > prev_fits) || ((best_fits > 0) && (best_delta < prev_delta)) || @@ -8486,11 +8484,6 @@ static int find_energy_efficient_cpu(struct task_str= uct *p, int prev_cpu) target =3D best_energy_cpu; =20 return target; - -unlock: - rcu_read_unlock(); - - return target; } =20 /* @@ -8535,7 +8528,6 @@ select_task_rq_fair(struct task_struct *p, int prev_c= pu, int wake_flags) want_affine =3D !wake_wide(p) && cpumask_test_cpu(cpu, p->cpus_ptr); } =20 - rcu_read_lock(); for_each_domain(cpu, tmp) { /* * If both 'cpu' and 'prev_cpu' are part of this domain, @@ -8561,14 +8553,13 @@ select_task_rq_fair(struct task_struct *p, int prev= _cpu, int wake_flags) break; } =20 - if (unlikely(sd)) { - /* Slow path */ - new_cpu =3D sched_balance_find_dst_cpu(sd, p, cpu, prev_cpu, sd_flag); - } else if (wake_flags & WF_TTWU) { /* XXX always ? */ - /* Fast path */ - new_cpu =3D select_idle_sibling(p, prev_cpu, new_cpu); - } - rcu_read_unlock(); + /* Slow path */ + if (unlikely(sd)) + return sched_balance_find_dst_cpu(sd, p, cpu, prev_cpu, sd_flag); + + /* Fast path */ + if (wake_flags & WF_TTWU) + return select_idle_sibling(p, prev_cpu, new_cpu); =20 return new_cpu; } --=20 2.34.1 From nobody Sat Feb 7 08:45:34 2026 Received: from CH4PR04CU002.outbound.protection.outlook.com (mail-northcentralusazon11013029.outbound.protection.outlook.com [40.107.201.29]) (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 2366642315D for ; Tue, 20 Jan 2026 11:35:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.201.29 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908919; cv=fail; b=PaP0Tf9wCZ9VaU+30utqeQn2DADZ+/ZquGswwBj0dCGXtp5LtbguTCVLfQwDUMvFef78btpNKCPdXu7AnoFvUUwYiWcYuQmAjMy9BMBRJb8cGK8KK3111aM0J9flupPa9ofNAXcP6hqFPfBeUo5DJB2XYPfde6mCulVvIwVLVk0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908919; c=relaxed/simple; bh=vWZiaf/bPMZKejrbbnj9jhaAJQpdopzITqX6x/Fg1xI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=a0+1hgfV10+PI5vGzgbWIU9jatjkbdGrCdTRLhKn8Pe+IAS2pub9CrhhhbTz48kRntUDs1JY+PPDRIagustpZ9+IHZKHCSAm0Tu387Raz/zQGSRgTUxy2xlWS3ZIsUs15fQz5RCwBVMaEOi1ALTSVwx+8ENRgHk/VjkucCdFu1w= 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=5XRAKIXn; arc=fail smtp.client-ip=40.107.201.29 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="5XRAKIXn" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sQVABBLrjipMYQ9dysU5ZNkv6RJHhPMO3uNYTBj53lYdDu7i04c4BPLeA44bNFJHh5RVHRSFhIDULkH2G7zhdXngIOXon17+gLb84HF7D2E9J9EYh1EDV8i4PeJMUZ/iI5fHbQWivtOuAZqHQVCVadPHJ65F30yJpNvmLTHrJGjxi9CiNN5M8Cw1ze2mnDtolxBjmhjYU5A+y2tbFgcafaFkV+D2a3SrVjiFvwc0ysR3SwfvQ7zeVC4lI27yuHE4S5HznAH+8HJR4E9MO+9IgLbCw/yCUCr2aWzmqf0Xw479U65E/v0jNk32Wj1XO4HKNzg6f8V09VB+mVueCA0d3g== 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=MIroPjMtfWc2sFFSZpO7o8pd9yF/Gig3cyMQEYHDd1o=; b=Ex7JS3J0CmTYnkzGlJFfdlZcj37PxQ0cG2i8/IYYuIdFA7BdG8st/X76wK1wCTqV5qJ3QdWqewks87sKg64eo6lHgWbrYpVrMNJlRWn/YO/HMhUuiUxeqk8JL339/m7r8YVNGfBxY8aO+ZBseaFEdV1QYKtUL3kO2WbXxycEgM000/usFTow7W2oy6JwRQ+coBoCgHYmc6PzQNGy7v1OKkTooSSMtCVkSVQCDkjcorSRSu/RMDx8IEbs1QnrdKevD41XI+OUS0jwJMSiKmMyQN5YT+gB6r4LO0dp8JklIuRu53Q9TpnmfNbHTin1IyMlzSqLmRXUxYeT81Ias1Hrdg== 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=MIroPjMtfWc2sFFSZpO7o8pd9yF/Gig3cyMQEYHDd1o=; b=5XRAKIXnFHGmbYy0/rP6d7xPgr3rt8WsoeAEkr83wTo95dzZZjXkhyDEtbMJ+ECJjvWYVc1L1Q6sld758S9OJOg2zquPn6zgWty3O1XJeDNbWgbJjyW23Jx1q612Cie15oXqFEgSeRluD32+px45u3621ygFUjajtWCgMOW84Vc= Received: from BL1PR13CA0255.namprd13.prod.outlook.com (2603:10b6:208:2ba::20) by SA5PPFB2BF91BC0.namprd12.prod.outlook.com (2603:10b6:80f:fc04::8de) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9478.4; Tue, 20 Jan 2026 11:35:14 +0000 Received: from BL02EPF00021F6C.namprd02.prod.outlook.com (2603:10b6:208:2ba:cafe::df) by BL1PR13CA0255.outlook.office365.com (2603:10b6:208:2ba::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.9 via Frontend Transport; Tue, 20 Jan 2026 11:35:18 +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 BL02EPF00021F6C.mail.protection.outlook.com (10.167.249.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Tue, 20 Jan 2026 11:35:13 +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; Tue, 20 Jan 2026 05:35:09 -0600 From: K Prateek Nayak To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , CC: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Chen Yu , Shrikanth Hegde , "Gautham R. Shenoy" , K Prateek Nayak Subject: [PATCH v3 7/8] sched/fair: Simplify the entry condition for update_idle_cpu_scan() Date: Tue, 20 Jan 2026 11:32:45 +0000 Message-ID: <20260120113246.27987-8-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120113246.27987-1-kprateek.nayak@amd.com> References: <20260120113246.27987-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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F6C:EE_|SA5PPFB2BF91BC0:EE_ X-MS-Office365-Filtering-Correlation-Id: 75e2ef93-509b-445a-8a56-08de5817fa4f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?QIVVZvQJnC/plHHjXWkedhbc2uybEgvKop8mU5Y7HP7neMs0QCNxfCAMDlVq?= =?us-ascii?Q?Fizeix8S3bVTcO5rxQ+ORSjq3pMHjaUmzWYLkfh8z3RRlu7muGslJGAV2JEs?= =?us-ascii?Q?dwa7juIigdas4tWltnsCkN+kdgPGoDqYKclS8qZ4AoJBGy19+pcha7xHyP98?= =?us-ascii?Q?GtDQg5h4qmvQ/Aa9B9FH1NI16QY5FPNArH0YLnZ9dAN4Iak5YJ9aUoMPPEWZ?= =?us-ascii?Q?pvRwtpyVhcLzm2I+awGyZ79A/jdKh3JChLDpogU0bNcp0oWwdd96XmNzklom?= =?us-ascii?Q?2g06FWBEZ9IdiUeBovGnaM/mt2Qk+sT/7+egrQBXiJHabDpDP/uhDamxKkwh?= =?us-ascii?Q?6eDwmlapYfS8CBNYt0Z9qhw+Ze5y1FtzeIrxJ3YYe6VP5ChL20HDh77FKsJK?= =?us-ascii?Q?MHq4fa3UMaspdb6+q/3vnGTgxDaRN7u26EThvD6SCaqdwhZdtrr95bi54Xcy?= =?us-ascii?Q?LqzJbwwwIbAT2lVW4c1gaCW5GgYnhffx58jUErV8Cnwec+x5HHFhiG1qwHB+?= =?us-ascii?Q?nBJpHD89EdFmSyhnYGZPOJbS40U32xvuKQD8DV44AYE7SiiOYmF0FDhafug6?= =?us-ascii?Q?qt0unWkSq9uMVIkahh1KnexZyoK/+vF8d/xMbrV2Hgp5W3gJkNAzyJlxWHut?= =?us-ascii?Q?9qyGfXi4SKtoMvXx7vEKoYLqxh3cH3jqtV0ygjtxZlzB9qm6c+BVnPHrOHf7?= =?us-ascii?Q?2XQURb/xbRIxLTG9XY24ndb53ULsD6h5T0vVeF5yfR8+IQpsi9qexbPG7KKM?= =?us-ascii?Q?Buk5GIy2zhbhfy2BcPbS5inO8GXcJuuYN09/MjkkagKMs24rKro9LyBDVbyy?= =?us-ascii?Q?X4sYdnZxMXefOJ12RrkWgiwhZnfVaXXUqS2ZzUgA7q4HU0C1BeviYbMgm9ky?= =?us-ascii?Q?UtbHizvxEtRsUeFLs5WmQbvd4UaDWEfVxDQ0TOJmrahqMlag1jDyG5ivIE1P?= =?us-ascii?Q?/tJ6ngoDDbY2zv6fV7YBC1mY5ieWWMRnzovRZ3jElGMoLLsOui/ai3Anu8Mi?= =?us-ascii?Q?YwSGWSdQk3xKovK8QUg52Pq8qptF84dBvAYiLRIpLHX/DGw41F5SxD84xb1g?= =?us-ascii?Q?KLnFtanIVuO5c2+1Z9S1AIW+li0TKdyL3s1bVCq6dBZSkcm9OVGZwOuwGpeT?= =?us-ascii?Q?blv3tN6tqWhapyvlKoshE9UouptUgsJoBvY5mtylqDy+2eTwie6bLeBR5HaG?= =?us-ascii?Q?HUmA36t+4SsgN2hobcXd9zkyDVjIGMmoBjbsXqVThY9zDF3IwUPrx9m/o+y9?= =?us-ascii?Q?M0fAmEvUXCsMyR69l9uEkfzjYMVqSIHJ7Z2R7CbdLiREgvuHRgZ90qkaEp80?= =?us-ascii?Q?Bm8YtTvqrJYakxvDxLXETDmo0huKozoX1YZltWsPYI+C/KDsqUD6Iw5CxVzh?= =?us-ascii?Q?yJoscp5xjA8rZSx7pmTkdXBl6P3djolpOV/WSBLBylAEczh6oZLE5FoM4/e5?= =?us-ascii?Q?Z6mRzE1GNlsjSm9+fDQYI0VXdXF3qr51V5+/xwg7FAJD9qeL2eNQmmRB9+IQ?= =?us-ascii?Q?hoXsmWxt7havttXzo+Ywq3A5iXCG7YrScZZl6hTSUQ5En1UjwnhkSd/Uyc/h?= =?us-ascii?Q?wSq7NDvE3NYRhtWFL3ididPcAt9z27DHieF8aNYs3AbI/GGPrSTnFYWVegrx?= =?us-ascii?Q?6ddjP16WTByS23GuQGvLCqx3IBMZXFqPUh87oF+Nlvcgd2HywupeI0LEzbjS?= =?us-ascii?Q?BsscEA=3D=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)(82310400026)(36860700013)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2026 11:35:13.9761 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 75e2ef93-509b-445a-8a56-08de5817fa4f 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: BL02EPF00021F6C.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPFB2BF91BC0 Content-Type: text/plain; charset="utf-8" Only the topmost SD_SHARE_LLC domain has the "sd->shared" assigned. Simply use "sd->shared" as an indicator for load balancing at the highest SD_SHARE_LLC domain in update_idle_cpu_scan() instead of relying on llc_size. Signed-off-by: K Prateek Nayak --- Changelog rfc v2..v3: o No changes. --- kernel/sched/fair.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index e4f208c44916..c308c0700a7f 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10996,6 +10996,7 @@ static void update_idle_cpu_scan(struct lb_env *env, unsigned long sum_util) { struct sched_domain_shared *sd_share; + struct sched_domain *sd =3D env->sd; int llc_weight, pct; u64 x, y, tmp; /* @@ -11009,11 +11010,7 @@ static void update_idle_cpu_scan(struct lb_env *en= v, if (!sched_feat(SIS_UTIL) || env->idle =3D=3D CPU_NEWLY_IDLE) return; =20 - llc_weight =3D per_cpu(sd_llc_size, env->dst_cpu); - if (env->sd->span_weight !=3D llc_weight) - return; - - sd_share =3D rcu_dereference_all(per_cpu(sd_llc_shared, env->dst_cpu)); + sd_share =3D sd->shared; if (!sd_share) return; =20 @@ -11047,10 +11044,11 @@ static void update_idle_cpu_scan(struct lb_env *e= nv, */ /* equation [3] */ x =3D sum_util; + llc_weight =3D sd->span_weight; do_div(x, llc_weight); =20 /* equation [4] */ - pct =3D env->sd->imbalance_pct; + pct =3D sd->imbalance_pct; tmp =3D x * x * pct * pct; do_div(tmp, 10000 * SCHED_CAPACITY_SCALE); tmp =3D min_t(long, tmp, SCHED_CAPACITY_SCALE); --=20 2.34.1 From nobody Sat Feb 7 08:45:34 2026 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010009.outbound.protection.outlook.com [52.101.56.9]) (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 22E1B423143 for ; Tue, 20 Jan 2026 11:35:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.9 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908942; cv=fail; b=QImk0ILPa4nYsLn7qIui1aFpLqkPfy8KUfEE+oyKBBcNKH+y5i7yJD7rO2hyQaea6C0iV9SaT2nvwkCJ9jLjaSJCV+7h7Ek6U5BPLeI9JvdMVkCtNXgX48UUt/6wvGEBQhJdjZvY8Zyh4J0UOE3DspTJoigBSovAQiXIzhWW3r4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768908942; c=relaxed/simple; bh=17M7Ww0dapF6FCmMutfwLeE1SxcHNMq4N0snyamzHMg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Zqx7G8JID2PxlNg7yXAroDGomJliUMvAWyF05u29u78cfi8tS+f5aBVEUrsc4WEMRgC3O9SUWzaarMx+582FdlxWkncwS/MuMfGVbWYNZikwbBXqpRGbNF29bC7Yi7IkCCnSMs7q5vfubI7i2XGUXwPQYYE+Kz5RKmIoWK3x/8k= 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=F2AsoSmj; arc=fail smtp.client-ip=52.101.56.9 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="F2AsoSmj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BSQdRb1+sHL4kwZ3ld2EWWLXZNegpXmViHj+uGg44H2yhwVBrdW5FWHPxNb879GdspJyY9+tQaJe5KRyEKQvyYF7eTyRMM4XrtCQU3YppGppfGFD06uq4PippZD5JCiJazFi8l9Iw0TT06wVfErm3v2NBERJAJfXL87quNpqqzPLwU39HfIrq4MzRJbC/5UPjxPeJET2hzDIx3aARPTsstGtW45I1JOh7PFvXo062/qmeK+g0yudlbNGKBbS7yJRkVp2kW2snbhtGMN54B1clYeqNue5AFPLUgwLyBkPaPdK17x6plaGa+c5b2IBAh9X7Sov6cxbBt8lGwA+vWy8Fg== 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=ju+Q1Fyh/MjJ+d8HYbWZ5R4aB2qDhJAUm6NRFMd6mPU=; b=HBRBt3N5p6At3GrrfpmHRKG3bawv6q8lbkLc76Q+6V4ZZ6y2gAlOkUFg69nYrQZ2ZWfGr2yL9JYAGf5lbKbAIHV2LaSieMX5rTnKRCgQondNvwdFpHCcWJ4Gpy+C7mOubakN0CujCkLV5ZJ+AgBfb9ox1K9K8/hkMTAXFEdPnkwkl73OcKDAFKUv2skbIF3hwYJ0ohU+M4C1EIPxJB2sXsZjyzXKq+mfRWERE/PLGJCGS/gZUdo2zwNsDoj/KAptm6sVA0SDUO0yOWWV7+IQmKkftKMZOEyeKJ29JH1/XmlY2Amnq5OZAMhuswDBrnhbs588vg+2WQ2I3lNculjqFQ== 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=ju+Q1Fyh/MjJ+d8HYbWZ5R4aB2qDhJAUm6NRFMd6mPU=; b=F2AsoSmjbKpbdvZ3+U1Akx+s8Gb3MbQDnMKzZUE2BE1EcOuKLixyNnwVs/oMY2wIx2J7ltiFZLUmvxNHyBSFb9uHvlLAfIVxrffObFMgu4xzycZlF2Y87DntycBKWr552XmibeBSoYmb5itVpl3ERlQklx74Z8qOEWbbbp/J5ks= Received: from BL1PR13CA0365.namprd13.prod.outlook.com (2603:10b6:208:2c0::10) by PH7PR12MB7938.namprd12.prod.outlook.com (2603:10b6:510:276::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.11; Tue, 20 Jan 2026 11:35:36 +0000 Received: from BL02EPF00021F68.namprd02.prod.outlook.com (2603:10b6:208:2c0:cafe::57) by BL1PR13CA0365.outlook.office365.com (2603:10b6:208:2c0::10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.9 via Frontend Transport; Tue, 20 Jan 2026 11:35:36 +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 BL02EPF00021F68.mail.protection.outlook.com (10.167.249.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.4 via Frontend Transport; Tue, 20 Jan 2026 11:35:36 +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; Tue, 20 Jan 2026 05:35:32 -0600 From: K Prateek Nayak To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , CC: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Chen Yu , Shrikanth Hegde , "Gautham R. Shenoy" , K Prateek Nayak Subject: [PATCH v3 8/8] sched/fair: Simplify SIS_UTIL handling in select_idle_cpu() Date: Tue, 20 Jan 2026 11:32:46 +0000 Message-ID: <20260120113246.27987-9-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120113246.27987-1-kprateek.nayak@amd.com> References: <20260120113246.27987-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: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF00021F68:EE_|PH7PR12MB7938:EE_ X-MS-Office365-Filtering-Correlation-Id: 19dcafeb-3da2-4f7f-7f1f-08de58180775 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?EM1MDKXDnSgB0qae7CiYWfHsFZdkiQ3xfRcNEATfJ3V8ZERZNvX3JX/pEenN?= =?us-ascii?Q?5R/6nwMwDvZnZQYGmGAX64G4UBizpm0tZ1vVfrf2hIQeYRc/kDnsYLJLbtfI?= =?us-ascii?Q?of+blg5JwTYrdUQe/oeHjq6WYVwQDjSrpLIiyFUtVBWVbodEH2RwYZSyELkU?= =?us-ascii?Q?vcm3d+hb5la+4pSUbkdM0zSqTDB6MsDJyv3Zidl3lPGCOe3i7CHQbI+M1o/v?= =?us-ascii?Q?ShTVce5UmLpwiyO2ejuQnFU3+VyY8Tn8rD9x7slHG4ff5gCSg0A+wTonfR9i?= =?us-ascii?Q?NWiZmgqlIdiSiGvu6LNS7KBcELNKWQ5rkn1AOJLbTy5xpUK4AiaFDSBxlS3W?= =?us-ascii?Q?sFQz7cGwze/l4tWetf+QkpyX6LAbcfwNrUKDUOjo68rR4S7W9QDl0gTEJRg7?= =?us-ascii?Q?EMA9Kdo8LZUD03P6o73EoplxEB22rVr5W9nzGJDuN1wgM5UgiEXD9MPugwHK?= =?us-ascii?Q?vsyCjEmvvEzkz0q2mjCo5grtpqsM+hMD6YY3S4/2QCgBJ9zGKLvDYfKfapxm?= =?us-ascii?Q?Uce1AnrqxweTYgGsPV8AcnwQmXXWexXFV4rq2kUlNnOgUzPE5X/2nBjCghNE?= =?us-ascii?Q?WfcwOm0S0tswDK85H2m62Q7xVtDHk9PaUO7BupJRKpsGbs/ivB9OmX5Su5jm?= =?us-ascii?Q?yAXYWTDQjxmAD+Q0Fwg/iXZnQJqAQaLWHRWqz/HnggfSmvh2f9C1thdqQHip?= =?us-ascii?Q?vZ35UqE3CoA29kbNVrr4qdsRYOdwy6+319ed8LGANk6n+8avd4n21BJwX3ng?= =?us-ascii?Q?iWTFa7i2DkohvWXVx4l5mNK5AC0qkdEKMS/Mf2Az5erpG95wKzck5EnOxbWZ?= =?us-ascii?Q?IyYNirrjduaxCoNejIwP0eHRcH+ArVqez35OZEqd4MIiJB4iyGbf0dhgwhAF?= =?us-ascii?Q?cZI7IOkR4wQUi/gqLecLz5nAgxD7HPOpAIO4IdpkfA9exesgQ8ZIid76xRpX?= =?us-ascii?Q?JNmh0unM0/dT5nw6Ep6MFiZEgTjBEXuVyq+ALpB80/iUkomkY7+sYzBtSalP?= =?us-ascii?Q?DmOyma0/nlSTso5ehBB1x9a49TFwPj6HI008lDRYMCJeYlNUj9BojRtP8fOb?= =?us-ascii?Q?fCBFnoOw/oeQeAIDrLq30KuriMDNudi8APaPb+Dhp7TLJYVRI2TUyPRzIcVg?= =?us-ascii?Q?AjwshBwlGSfx+GFNIG9XfHZbS4AphQFbHWvW6RigxGb38VrD608r5wMRzD0B?= =?us-ascii?Q?9sxYwq+CB3+1te8EdOXDSpGgxp8078CMKXkN98khHMavH+B8l6vKu1X4JNUq?= =?us-ascii?Q?Im4EHtR5rRN2GH4yfFuxC6sDlkPRnuHfHrmAVXPvdQvcr/zOOk2/oktp/iHQ?= =?us-ascii?Q?lcyt745tZPCZuLwkCiIbBVXdEksWVW+drUVYu9J2cPYTkPnZTddARm19QYaP?= =?us-ascii?Q?o1rsswCvk/1PQVLPe3Sba5FMkWX1e02z/p6OSmDfKtKKB7xRli2YY3d1Lig5?= =?us-ascii?Q?K80p8KgsTRJYdSrqmMR4YCe1peOqDT35ebV29Xp3Tk9tPSbk31BdUwroKVew?= =?us-ascii?Q?XPDFDh+xkFFXYSWwkG9q2+hah6p85VcN8hlNIWeKjheoXlNoaRpAnWkLSXO/?= =?us-ascii?Q?wHqwyb+XJAXLahNCFu+inYXVlfqQBLqfyGbBn6L3ihFXjMmsLy0u2p0ie3sc?= =?us-ascii?Q?/vlAV6nJ/MSaSeCC/9lH5Qt7TL1ZZY7+bIDgbCf8q2u6f0SwnNtcc/CBc3Ml?= =?us-ascii?Q?hkc70Q=3D=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)(376014)(7416014)(1800799024)(36860700013)(82310400026);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2026 11:35:36.0358 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 19dcafeb-3da2-4f7f-7f1f-08de58180775 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: BL02EPF00021F68.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7938 Content-Type: text/plain; charset="utf-8" Use the "sd_llc" passed to select_idle_cpu() to obtain the "sd_llc_shared" instead of dereferencing the per-CPU variable. Since "sd->shared" is always reclaimed at the same time as "sd" via call_rcu() and update_top_cache_domain() always ensures a valid "sd->shared" assignment when "sd_llc" is present, "sd_llc->shared" can always be dereferenced without needing an additional check. While at it move the cpumask_and() operation after the SIS_UTIL bailout check to avoid unnecessarily computing the cpumask. Signed-off-by: K Prateek Nayak Reviewed-by: Shrikanth Hegde --- Changelog rfc v2..v3: o No changes. to the diff. Added more details on directly dereferencing "sd->shared" without a NULL check in the commit message. --- kernel/sched/fair.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index c308c0700a7f..b4ae9444d32f 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -7629,21 +7629,18 @@ static int select_idle_cpu(struct task_struct *p, s= truct sched_domain *sd, bool { struct cpumask *cpus =3D this_cpu_cpumask_var_ptr(select_rq_mask); int i, cpu, idle_cpu =3D -1, nr =3D INT_MAX; - struct sched_domain_shared *sd_share; - - cpumask_and(cpus, sched_domain_span(sd), p->cpus_ptr); =20 if (sched_feat(SIS_UTIL)) { - sd_share =3D rcu_dereference_all(per_cpu(sd_llc_shared, target)); - if (sd_share) { - /* because !--nr is the condition to stop scan */ - nr =3D READ_ONCE(sd_share->nr_idle_scan) + 1; - /* overloaded LLC is unlikely to have idle cpu/core */ - if (nr =3D=3D 1) - return -1; - } + /* because !--nr is the condition to stop scan */ + nr =3D READ_ONCE(sd->shared->nr_idle_scan) + 1; + /* overloaded LLC is unlikely to have idle cpu/core */ + if (nr =3D=3D 1) + return -1; } =20 + if (!cpumask_and(cpus, sched_domain_span(sd), p->cpus_ptr)) + return -1; + if (static_branch_unlikely(&sched_cluster_active)) { struct sched_group *sg =3D sd->groups; =20 --=20 2.34.1