From nobody Mon Apr 6 21:53:24 2026 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011041.outbound.protection.outlook.com [52.101.62.41]) (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 1DF9730DD30 for ; Fri, 3 Apr 2026 05:37:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.41 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775194679; cv=fail; b=p5bfXy9gRDuT82sIbXMN/zJsIOVLUEFnDUqsVaakUIdhW3bhu/UBag6oYNiVJ2GUBynx2GHqldJOcOJx63cmBvOrB9M+M+pcgoDFhWyM2kz6cJGd9bKhXZNF0xMuSI3r18ui3H0X4XnyRz4ZOkS4/qbkhmfwngT9WjbgQnzQUBQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775194679; c=relaxed/simple; bh=Bf7RM7N5fmsR46PJdTdMUYRI8WnJKRvz0XcuE7eAFRo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=RYp4A07hKgwyPqVVPB1R+HPskNtoRO2b4onDMeMeG3vu6eL6Y1KyWhMQil5iqMY/mf0HC5CLQmnPXq39lx4pBR1zsMQ42D9O6XkrUSywBwphurf8DQ3tTi0j+IJWKzEN6yORVwSFr2TNpORIJsWnK8Smn/2clzTJYWWj5wsIGwA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=cWXhHeJQ; arc=fail smtp.client-ip=52.101.62.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="cWXhHeJQ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xkdsEfkSndCafN0EpJUztVNn7cpOfb0Mta7WqzwD8JhMKj3fpcfyWQnFQMQrLbWMr3oth4Y/mD1OXTOVsgRU2uGUdev3vGUh0ZBfB1Bh9ErwcsicDHgCRF/YtBck4sdxIiGgzEM3ceAXY8YJGOJatKocFke8d7xu7eD01iT1I19Z+v8xrgx7wNQMa0TV1EeNetsVhUy1UUspSZAG3eheKb2j1ndlzlfB0KzDxpj2ni4ayIZWC776q1StTIHSEpCl8M7nKeexG6tXjAeLPZLbYTdgjCOQR0bV/tEsIUQiFpaZ9oYY2lviKTBJNJzaJ2hkcAye3np13lT66xCUlyVVEg== 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=uahamq3lTQEyC4aieti5fD8jqiyel10WareIirGop3Q=; b=OuErZoYXDdtp/UK1HIuwsTjo+h7SYr9731wShj3I2Znq1cdRZ4o3w9X9vRVabp/mbtGdbH0y2cdOFxMfmVm88x5PvaizNofPwpz8on4HTCKivlvZjsO/PmzMIeEVauQzHUATKZ0ZyApal3rxJb5kNSU9Mz5XDTk9EgbFvu0akYKd2vKd44B9pHTRi3KiHWPGbEs9V9uSAKbFTeAFiqfxz/3y8nMxR7k4y2z9HqyJtp0vD2MpDCAJh67dqGylpGbmaE2dIcVfPPlO8A4NZoQFZhIo4OVt72WjkJnzIer18uk8wt/QiElC/3rKpUDAntLkdXVJneKfBqMX2PkuVhYlMg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uahamq3lTQEyC4aieti5fD8jqiyel10WareIirGop3Q=; b=cWXhHeJQFz1IkbZhNMZ14lcxlEKvDaVZOMF2SR5tEOicx9T5b2rm1PLlHbOhnF41vxD90YRO3rQWvVy619JtjZuLyv5ymEnP7JZn1vcvoKbClMKzvPD1F8lglmmQ5WnhP5MMUjnGc9R4qz9t5TagGiPmnLCiVZNl+bUZ/5IfKV3hG6MqdLoJBBK75EkxFvi8sGuvXHd0hImnLsJOsZpGuvv5hzunncF2TcuXJpctG5t0/WQRAWVmmQGovxxJf4d3ZaOn1FThFlCz+kN6lI8DgZtpbFASzgSu0LpuCtukRGbbrTqxYocNCQg60jHlU0u7dVkKCC02lY9ZVtGAMjDRUg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) by PH8PR12MB7110.namprd12.prod.outlook.com (2603:10b6:510:22e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.12; Fri, 3 Apr 2026 05:37:23 +0000 Received: from LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::299d:f5e0:3550:1528]) by LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::299d:f5e0:3550:1528%5]) with mapi id 15.20.9769.017; Fri, 3 Apr 2026 05:37:23 +0000 From: Andrea Righi To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot Cc: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , K Prateek Nayak , Christian Loehle , Koba Ko , Felix Abecassis , Balbir Singh , Shrikanth Hegde , linux-kernel@vger.kernel.org Subject: [PATCH 2/2] sched/fair: Reject misfit pulls onto busy SMT siblings on asym-capacity Date: Fri, 3 Apr 2026 07:31:06 +0200 Message-ID: <20260403053654.1559142-3-arighi@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260403053654.1559142-1-arighi@nvidia.com> References: <20260403053654.1559142-1-arighi@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0049.namprd13.prod.outlook.com (2603:10b6:a03:2c2::24) To LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR12MB9620:EE_|PH8PR12MB7110:EE_ X-MS-Office365-Filtering-Correlation-Id: 039141dc-7073-4b49-9c6a-08de914314fc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|7416014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: JqVhOLeN+CZm3kBAfkJpDAT19ZJxgB/Pw3H2XZpKkwFDjoNob+7hkDosE84b5s+7GbfW4AjxW/dvo8YCYRit57O27qFshQgvugOK1kOW+JejFVVYzu+Hu2an4IVXr4+ShMK4GoEXy0GwFlDhjRQlFZrUxuTdlV2ScEd2KIv/DJYh7lKNmUIqqzNX/oznCAJJdygzJQdJg5On5H1tYArhowbptvPnbW+eXLpxiZbqItbSKrZ0PnzBoTO1PYc+sfvMsbC+WLAXCTuSgDZusoqyy6D50wOBR0R4UHMlHPVlhVKWuLpCDmYESg/qFLIqqZjA6xY46hB1NiHSR+sG2zax3ShtKvfBW3wGwh+76TL10ivHv3e66NVbG5HzC/DCCTFn4R+KHL1YDC6d+j3fG7w7NGFWj7MhFhMMMSIBIz7Etw5FY3RdsF2YlhunvRfrbkknAQiYyVG7ZsvzV6PUMMhhTCQ8chbFTgiMmg6cX2+//MXDZ3LfFmHWrjq9BDNGzvOUFFoLxmgRWd4RNvRggmYYjZfs0l5m0WjEF+vFZ8GjFJmJf5idT7bPNC3v9/SdyX1n0wW54qPpWvdM7TfhN6ncN21rfJ7i/ayDN34FA07c4WMKfHikKxfg/Vkvuzd2CuCz+qwOc7ElUYRPFvXCbHPbxYT64IHV6ljXNR2cHW/XNo0xQmyP97d79zPIBZzpByPZ7H+lGpFDFGlUjYFaA27Kv0F7hUP0g3dIOGbcW6H0GVI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV8PR12MB9620.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(7416014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gXuuylKrD/PVrVi/AGCtZHyGj1foNcqKvwy3W7fVq7Cs9F2YNWeIykgFYiIy?= =?us-ascii?Q?xnhyfR6ghpOs8l1CopkbRdb4zuWHo7FR9i07qSvDT12P17j1Ja6v9f1SKkGb?= =?us-ascii?Q?E2YeN/KDBnwVuJU1liaBuhsaXWXLW0WUIbFgR7H6MX9fsY9pTdbwkzkkSOrF?= =?us-ascii?Q?W6CxeEUbj+awMt6g8GF/zBIHWDuIwStMFaebFHLdAxTx1v8nDLj4KbsnLXyo?= =?us-ascii?Q?bPj89HZdVPkltXTSKdX0OVNJ6KOKDKJ9XgDN2t+VWjEMwgAYGa4HiC2KgOyI?= =?us-ascii?Q?mkg1rYDoVovJeoKtNGUCR20y6af5fkCs8BdlkdumJ1bOaSkm6FixJJx4aUTO?= =?us-ascii?Q?85coEN8OTO/jcTCWPkW6moqRABFnbXrd9WChCWP0+yS94FC7hUHWVLihMczU?= =?us-ascii?Q?6/trY4gh4swVDpGQdMZGEymxIZmGttZ4gcJQ/FraM/gPyEjMg9JGALrjDmKi?= =?us-ascii?Q?ow33OQZ5wxZbCxKWKceqf2Ywa5nJFvQ+70R/ul0KB96tFTG2YIptpdltG0uK?= =?us-ascii?Q?yMSNAYgynYUAdCTJ8fVCJoSOzd09A1Z7w6wN6/BZ1gsfqpOr1gjt+TjsTNDo?= =?us-ascii?Q?ElMtgl2MzUeWIuhbuL3O4G3jx6V8OdjuHK3h61/qcna003NxpEhKTjgPPSVl?= =?us-ascii?Q?l0jPuuTcHBt9jE7rdRATUvymZQe1mtKvSs/UQDZH3L7riyj0PPDsT7qOVlu6?= =?us-ascii?Q?PCfDlLYGtUC6BhFHiKVQsRWjUSe0o1+NcNJ8jEjQrBVZr0J5N08tMY4MWP16?= =?us-ascii?Q?Lk/s2O+CsZiCtntSWZPRYw8oPRQ0XyxdhawMYpAY5ThJ7AIayaY4t+O9JQE4?= =?us-ascii?Q?A7ilrGOTguC0C8HTdUCHPsiu9t1lgB3uJRaNZHRXqKXZV3aKcMvijmiLP7G0?= =?us-ascii?Q?krdY4xPnKhzS26CsOd8fxMYzNEdOVPgHVlMCFE7ZmQoVt9tA8ksWNFOtJLFl?= =?us-ascii?Q?CtxOO0tR6R2MYcfl9OcgcI/18e8XvmQqK+vO3260iPtaNUPYpaXszfoIrgUc?= =?us-ascii?Q?kgRNWk5eGMmDy2NSug7BqjgXUyNuLhFaD81tbszqid1RczsBi+McV64nG3j9?= =?us-ascii?Q?ZM9ythfuV49e4NlWw1x7l+AoqzGCfmLAkzu/WjfaCWi62nghbTyKkUwrYVRm?= =?us-ascii?Q?1YK5GJoGO/bPcYW0oww5J0xkcz1+EN1P6waCf8paDRKklIt3KzTbbz0wGG6t?= =?us-ascii?Q?7r6v48wYp0TuUbZW+eCT98xKeN+DlW2B4pMjg1KJJ1TGhYnBk4wYUWEAXtUI?= =?us-ascii?Q?LQzf+/3L/GpvbjXSJ4JXq5ulmrhWqILuW7IBof8zSBqnY3IJXpXI94GAoF6p?= =?us-ascii?Q?jCyzvZnkTZ8ba+FBQ6EJ9NGxxmkYrF9+oEDmHYN3lgPueRu671yRDaIdud+a?= =?us-ascii?Q?CIsX4xQo1u0Bky8wJQfl9ZJ1xx1Wcvg1eYvCwHMvD2XoTpCuw9wuwQFvxmvT?= =?us-ascii?Q?k86kSX1LauH5Yz8LPLrC0KiZNh0IYfuSLyKGkmjr5b4E4yC9yZARlSrAeMJJ?= =?us-ascii?Q?vChBcA+Vv6Xc/wnDlwVE2EjJUjc0lqDVA2Ku27ZRbVQxUd/M6M8i4+0iMSlt?= =?us-ascii?Q?zyvo9Tv5q7ewLNZZaEx363QLeqnLcZo/4ajg4nnhh7Olkj/XDn73JKMgR2FJ?= =?us-ascii?Q?URTqrmQsdgaAgkOrEuE8Qk/2uXuniMmbOAW9xPh2igOnrh5/Pof6s49jStIT?= =?us-ascii?Q?p/UtrhSC76dGeWdYWLhrkMSbIgm3eqlPd9gDWvXYL2zFMuQ8xAS5cFESA+YX?= =?us-ascii?Q?VLUVJjNIbQ=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 039141dc-7073-4b49-9c6a-08de914314fc X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2026 05:37:23.5768 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OqPRI+rnhdgq1MRDTQ13JQRjhHWZa/gwNMhzrbtN1GTHoL7CMJgpw2leC1WG1PpSF8s7u1JG4ftDXyGcERRmnQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7110 Content-Type: text/plain; charset="utf-8" When SD_ASYM_CPUCAPACITY load balancing considers pulling a misfit task, capacity_of(dst_cpu) can overstate available compute if the SMT sibling is busy: the core does not deliver its full nominal capacity. If SMT is active and dst_cpu is not on a fully idle core, skip this destination so we do not migrate a misfit expecting a capacity upgrade we cannot actually provide. No functional changes on systems with only asymmetric CPUs or only SMT. Cc: K Prateek Nayak Cc: Vincent Guittot Cc: Dietmar Eggemann Cc: Christian Loehle Cc: Koba Ko Reported-by: Felix Abecassis Signed-off-by: Andrea Righi --- kernel/sched/fair.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 7f09191014d18..7bebceb5ed9df 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10607,10 +10607,16 @@ static bool update_sd_pick_busiest(struct lb_env = *env, * We can use max_capacity here as reduction in capacity on some * CPUs in the group should either be possible to resolve * internally or be covered by avg_load imbalance (eventually). + * + * When SMT is active, only pull a misfit to dst_cpu if it is on a + * fully idle core; otherwise the effective capacity of the core is + * reduced and we may not actually provide more capacity than the + * source. */ if ((env->sd->flags & SD_ASYM_CPUCAPACITY) && (sgs->group_type =3D=3D group_misfit_task) && - (!capacity_greater(capacity_of(env->dst_cpu), sg->sgc->max_capacity) = || + ((sched_smt_active() && !is_core_idle(env->dst_cpu)) || + !capacity_greater(capacity_of(env->dst_cpu), sg->sgc->max_capacity) = || sds->local_stat.group_type !=3D group_has_spare)) return false; =20 --=20 2.53.0