From nobody Fri Dec 19 13:09:34 2025 Received: from PH7PR06CU001.outbound.protection.outlook.com (mail-westus3azon11010060.outbound.protection.outlook.com [52.101.201.60]) (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 25A573203B0 for ; Mon, 8 Dec 2025 09:30:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.201.60 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765186231; cv=fail; b=AXqhWbzNzZoQ7nM7163wqQW1BdjkscZpBrIlmKe7CVGBvJV/kBLujnBbVtoj7MXUimr81LB2B6IJp7/wC2yTXVejB4k1oGGbXyCDW//lR4ZJM1x9iLUkJbWuYvT5vMcUybz1z8+D6BjhNHC6BHGPP61m/n8WnPX+kaUEJqs1wkw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765186231; c=relaxed/simple; bh=qAkt0MaAEk2D6qIGxnb0mpeks7eDASXgaUfBYh36lOE=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ayps5g4fY3Yvcde52sz/akFcrEsDJbV0CdQJNjeLHAMDgvDNvNmo2ocHrGXO+6m77a9nHzXPHxH6wBzOxhnmmTpFQsBnm0f2oE03i0iz5rrEmzQ3NfIfjjHeDjTf1I8nRh87mJDgojVZDgM/dTWJ3wkoRbTA/JDVGgX21O4V6Ho= 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=SH07HAc0; arc=fail smtp.client-ip=52.101.201.60 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="SH07HAc0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Lm0QzIqekBZ6TKwxiFshCzKK7jxKt9BDDK/1PVmicxBiZTSX5EFQ3JW8hUJtLm4O40osBTMXOZvabo0kxM8LoUGgZK97tfsSiodBEpy4JIF+RxHVn1IlaKDN8zDNaW9nc51Lj97oBbDuBaMcPMNOhNERzkjTQrJ9PufO9f9lx793z86XMb7fPVkEAqiiGtT8QSOOcfXPmPjvJmbHQj+gOt9hHd7Xp4PTvXp/somgyxvRABz1veMtkIcuBBuSLXFLYI/XEVr2DZ1RlqbWmn6l5V/dEr9byobyMultpmOZ4RzWGENqCUpaieISNTIO0HhqpcieOIKwcKuFBYXzzqxeeQ== 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=cSvBGixSz0kiP57jYseJRgR+q5w21ihUt94V8RAlFys=; b=HHGbPei6PEcUk20bR1mOtcJjQJlRZFRAmocM6ZguO098S5yUzul2uW/NStUHvSzuOUvHqt0GsmqkLdl6rweGMnkyAAWj6yfZyeNXTailindOGqndNNFGA+lATVuavU5/hqx6h/os+Ce3pTiVWxJj5+TaPxh1kn0Ws/WUV4l1xM0HUlNQu+Mv/IHXaUQLsgs7Yd++2ea9Eg3V6Bx9S2nCosHU62AMf7UmIVJKGSGyPR6K4s6SzYBlqJ3e1qWIGu3RRrnL4+TIcsK/eo/fZGs3dTI1JyEDgaSb3H0vWzjogbExU1HM24yJ7epTjKQhDFk8+MRR/lJgg1N2Laohc8pF8w== 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=cSvBGixSz0kiP57jYseJRgR+q5w21ihUt94V8RAlFys=; b=SH07HAc0QYeq5qBHsq4Voi8jwAwF6fVtcKic0IRZONudlxvW9+QCmzjWgBoZD+nwJ3ptpESOPtKxxMQ2QBAFrz0PBjHDLvhYRHEk8h4XANNG7EjP0M5wjMUmDq6b/jcOik2W0rujkU8ivQ7CwT/uANPNuMQOOlsJ89JvIWbCR1M= Received: from BYAPR01CA0061.prod.exchangelabs.com (2603:10b6:a03:94::38) by PH7PR12MB6563.namprd12.prod.outlook.com (2603:10b6:510:211::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.14; Mon, 8 Dec 2025 09:29:12 +0000 Received: from CO1PEPF000042AC.namprd03.prod.outlook.com (2603:10b6:a03:94:cafe::e0) by BYAPR01CA0061.outlook.office365.com (2603:10b6:a03:94::38) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9388.14 via Frontend Transport; Mon, 8 Dec 2025 09:29:10 +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 CO1PEPF000042AC.mail.protection.outlook.com (10.167.243.41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9388.8 via Frontend Transport; Mon, 8 Dec 2025 09:29:11 +0000 Received: from BLRKPRNAYAK.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 8 Dec 2025 03:29:02 -0600 From: K Prateek Nayak To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Anna-Maria Behnsen , Frederic Weisbecker , Thomas Gleixner CC: , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , K Prateek Nayak , "Gautham R. Shenoy" , Swapnil Sapkal , Shrikanth Hegde , Chen Yu Subject: [RESEND RFC PATCH v2 05/29] sched/fair: Simplity SIS_UTIL handling in select_idle_cpu() Date: Mon, 8 Dec 2025 09:26:51 +0000 Message-ID: <20251208092744.32737-5-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251208083602.31898-1-kprateek.nayak@amd.com> References: <20251208083602.31898-1-kprateek.nayak@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000042AC:EE_|PH7PR12MB6563:EE_ X-MS-Office365-Filtering-Correlation-Id: 67c9b64f-581d-4744-667a-08de363c3f44 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|1800799024|82310400026|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?qeW5ea6RoH7ulgHJRgp6HGHni6PuXgCR8XEGyfBVCsR3+YRtd8MAQl3rXvS0?= =?us-ascii?Q?cd7KxmZOQSRADuF3nl8+UJ+cmklMm/ImKQodu0p5O6Q1/XgB4bpSO7d167eo?= =?us-ascii?Q?+czQJ3NHYPgE90HSxZ3NLBBgtbTGdLmv9G2m7m2wbvzMuyq767vCffTU9d7P?= =?us-ascii?Q?SlwDh/Zt32s23y5bI6r+NXr6VwZurA6TBEzVMyG5SaJMr+AMlrZMKNzuXQa+?= =?us-ascii?Q?4PeS31n6A/MdKJsYLhblZSqV6o/QoIIIqswitiHRz4/yNs72YjINjz57mBGO?= =?us-ascii?Q?nEBeIfFfpO2unq8Pbl1dO5Wn8wXllcOmmbHPSJ+BaaW/hPJfIn/wGHz9mQDE?= =?us-ascii?Q?6GXiiaNV5c+wcqAy1Jeka7DMdDSdmCeIDajI+V4tzljg1kEGLPzhn3fpgxBp?= =?us-ascii?Q?9bJyw2hJHKp6W2xrIw75ZN0MvbVLf3bhcZjbCsysSxnbkzuOOhyD3X6DBdCt?= =?us-ascii?Q?rv/Z9jThshurT6VYNsQY47dNm4uMMKj1RDa5cpeLUuGaL30P/c8USkKlQeAD?= =?us-ascii?Q?a8cu2Ng6utSuxWzZySt+2lTR3Lc94XeGpyoTEvvLQs7n2Y2h5zxymVkNL4sn?= =?us-ascii?Q?uzJepfL8Cjl0baHHkNBEuJiW+vx92hWFvRcVFeqvugn8QcWqdXFX0r5yxtMU?= =?us-ascii?Q?vgX4di1xyw6TxXQrXTx/dWRzB/Ip3HrzmCSxRBZ4osQac2j4b3zA1eVYh8Hh?= =?us-ascii?Q?xC13eVL1GW8CHD8b7QS5zFDQWffV5yNzPoU91NnXDWWmEVm0JHBdh7FFYW+G?= =?us-ascii?Q?xfPNeR/WgYpSZFOYizb72C0XLrRRT3CEc/oGwIM6NX66ifCXGlztHPNpvmLY?= =?us-ascii?Q?A6ppTt/vFVtESP/g1VjLlk/cdInNBsI8CY/KmG8ioipyw/Sy/TO8rba53DcW?= =?us-ascii?Q?i3VoczuEXCrvHKYZcimaUf5BhV7EMP92KfVEj46HdF8jMI3auIxg+ZUUTf/d?= =?us-ascii?Q?DK03Op/5jWSy2Gt8ndI1loNOuhljYXL5EYNtCPnJPMdBp3FHdiE4VsW0pD95?= =?us-ascii?Q?b/5HytLFZhhzcZzFlUh6MFnJSXHSrBelvkRM39zqiHXKRxlyOPyYnSaHJpgu?= =?us-ascii?Q?cUcKX25n/ZzVku3DK0ejRJro1rrJE9PNztSVh0LKdN17ztoqR1sDvyvfn1B7?= =?us-ascii?Q?gfUuhVkYq0KlmC2nCyggpW1IthgdHX/4fnTmGlaSKXePGUVq4nav/Ty59WdV?= =?us-ascii?Q?W2oaFmsKMexW1Z7uJ+BlDIzkFE2J3R3Q7Edtfgjk4fgWf4hW/6lAs4X+v9xR?= =?us-ascii?Q?XEYHLH2efvfI0jji/HrykmvrdtyY5UE4B37a8dBDY/zlh7K34IPdaoQwEYv/?= =?us-ascii?Q?N0zIBLoXfYQkM6zEkb4jdyLtw4C0PNnpEYFZUI9v4Yh22tRGyzU0GJPJfa2T?= =?us-ascii?Q?1pMig7yk3+yeYnDktT7sults3BRDWIwkzmvchw3sQUZCW674kuQyut4ACJCA?= =?us-ascii?Q?S5nWL/oCvpy3ctXGvWYMKu5Q5pD+7/iIgJ/JQBn/ZtuWQLzO3t8x7037++e8?= =?us-ascii?Q?Y8ILQMlgc+iTFr8wgDsnirOo/cgd0Iw3V4TshQGVRZqFq8WvRBqMKLgr3Ofo?= =?us-ascii?Q?JLQLE4XUdxdfu7DXohA=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)(1800799024)(82310400026)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2025 09:29:11.9247 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 67c9b64f-581d-4744-667a-08de363c3f44 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: CO1PEPF000042AC.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6563 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. 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 --- 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 6e1c78142536..20198aa64882 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -7636,21 +7636,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(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.43.0