From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BN1PR04CU002.outbound.protection.outlook.com (mail-eastus2azon11010059.outbound.protection.outlook.com [52.101.56.59]) (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 B944330C63A for ; Thu, 23 Apr 2026 07:42:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.56.59 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776930139; cv=fail; b=k7DrK2bvW/mGB6ivTGLpGiVAFmUFNoI359jasNlTVEYrX3qrpkGzD6IJRBUvRSnvvMRIH8yVZQcastGnNk1YgkXc3fabq46Nb8e7g0BnyccqjuFieTT0u0s7w+qbt3uO4DI2UPKdEJTGhqTKim2mKcg4uo5CaZmdzlMCZpwWFfE= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776930139; c=relaxed/simple; bh=s6X4rkRtgE6Rr4dKwPeOUirjPgpDsnZJBKZWP2zivj0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=UupC5NDZguRlECC8cxf5GprR+dVFlGvPcDqJHaXuFCICLwkyX8nIp+bEMc3NCkX70Y4WsbYCadk6jY3HgiIompiFDsAc5NZRwY7AeeG3iG5MVH4IPtlVVOOsTZHs3qjXycLkp1GTBrBy8mN0tOwHxXip49F9/z1ZYaLDajd0bsM= 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=aCTNkReB; arc=fail smtp.client-ip=52.101.56.59 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="aCTNkReB" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dHdMByvZsNfirfyexCe0r6vy9TF7BVMsymHk6fh1JiC0SmGP0sA0JNvk+INJD8jR4bgFeIpi1XqbwVckdXaKQruuMBe1l4u3eq+IUdcGwYW9rVgG9izjvGvAUSoJuNxInRO/GKoh92+oWnpihTqDsg13J1KlJN/d7E4pQAU/bIpaGzbkh+9bFY2lSgHwRIoOoIwTuI1fPVFXss1y5SHwWZqaGqWXRqWMG2zc162LzwFvkDUSJJPNaH4Hucq6MPkOxP5GKdIV5kiadu+zmumN6ge7iWbiubHWbdL+5VBK+AVuZexstIzGcvrYqIV5hZbFIb8UxAKbg0nzeXPBuQccbw== 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=dw9C/f4IqZhwxyvN7IT6z5FUu5QlG4BkKgSoNiQteKY=; b=IyVXvz1rz7Si1AEdPiozT27+S2Q3gOmDYOYYZM9R9N75SqbzFwALz1yCatDvY+DC+hOiYJdQYhD4q1G6kQcuw0O77POXrxudR7Qq399A4XEe1WA9w9fTFqkaf5W3A84n33utkPlDPjqUId6cIUbgK9KdonqaOpkH8SenS/wLPF6vcP9JDFy6Lz+Y4giwkkDjTsaGiZs6k5sCYhX36z7cUTChY5GYmrFSGCX9tfxjxk/xkApZDKu6r2ODbqe35vmZ8koh6Zkpx4BRqeVPI+7ziobOPe5XaYKWPKfzzFwBt+AuyOC3OaNVSuTWCiTzHik/sg9FY8zGYro1fkd2jZ9xLg== 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=dw9C/f4IqZhwxyvN7IT6z5FUu5QlG4BkKgSoNiQteKY=; b=aCTNkReBIl3k37ontklQeiByotom297ueugpjyjEBhf+q3TR38pKVyPcEga8AdPWvzo6VSKK4KLoF49AMTYBWnAJ+BfvI/EsvbTgmkj4RC5OfLbYPDMTPw4dhw/8RiBi+w9NNTLQohASkK6jjUfoYzGylKRXGcjRpUavFCGXLsTWM+pGoIXYUKwHLFNQyn1uFhpu/1TftE7dUcE2gXZx7kCnnupYTyfX3d00XnX7bntS+zEhQb47gfpXLJ+aDwu8F/NL9pJq+jvtCAZTytA1P9djoka/s7m0+eWdXIuzdKUhD3KkL1jPjbhar8kJzN06acoj6t0zvS47l9OQrgJmdQ== 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 BL4PR12MB9534.namprd12.prod.outlook.com (2603:10b6:208:58f::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.21; Thu, 23 Apr 2026 07:42:10 +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.9846.019; Thu, 23 Apr 2026 07:42:10 +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 , Joel Fernandes , Shrikanth Hegde , linux-kernel@vger.kernel.org Subject: [PATCH 3/5] sched/fair: Reject misfit pulls onto busy SMT siblings on asym-capacity Date: Thu, 23 Apr 2026 09:36:47 +0200 Message-ID: <20260423074135.380390-4-arighi@nvidia.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260423074135.380390-1-arighi@nvidia.com> References: <20260423074135.380390-1-arighi@nvidia.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MI2PEPF00000B83.ITAP293.PROD.OUTLOOK.COM (2603:10a6:298:1::419) 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_|BL4PR12MB9534:EE_ X-MS-Office365-Filtering-Correlation-Id: d590ebdd-0d8c-49fa-5f9a-08dea10bd3f6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|7416014|366016|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: Hj/CtHYCRHo3jy7OJ59l+I9P/EZtiiXfzWYSfxiaIf9vGGpD6BuId4d0nUC+ITF6Cw7qZjyNzcjQLsGPehq9PRU9tzDg6H4qXlF6+Q1scCUeJwVQ946wakVAQcA5HTtojy3g4bYtPMMCiGEonXxU289TsoQBKgL7DBoPOxRwkWFzcvOpDxUj9VddKV64WzN5hkH0WSevaQ6sKGlIGulxyvT7WN1UvXNNVxc+7+v43oQJN9U0COEfiL9mNyCoB93ugZnHoAuaM5M6lNbIkJEZZbQA53U2TkBbFp6d9NkQ95J/sTkXfh3XJi2vHyWNFj70DqSrkwHy9FOWxQuZdXh0sAlM8JnYfYoZCpquNdfmKHSg6MuA6Jku6VPRDI5TKPKJY7OwkzAPyfjCmTf5+f+sV3c6RY49DGpiMusq5nw0KxBHP17aMU6trhJGEiAkL40hBm0VkUBiJHOOEUt1Ji2ZoaeRBDr5ygVSsLBSfkakSzFkjCPOVjZxg23ZZuTHtEGuBZlafg27yABIaGOfW4HYYX70ftny1dQY/KHrUMwJhpzc3a0UEOa1vDBUR0E3V9XpHRHufHRGnhJOEpiTIELwVUcFCZXeoesmQK5QAEck98D0Mg5Bb76kyoy1VqIMQFA7g0gGsWX8PmcAvsJChh0i74fn060N2HlrsI3n+seX/A6uEsPL/kf3SXLcH5RtcpYCpgCTKOWVWTBLsrUHIgro/1L7Ph4HnGUwKScJnIJGzd8= 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)(7416014)(366016)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?eKHVawEfcVrFf06n0Dqy+Dnj9YmZpVmhgxjzdoAV9YzKvXMRzWzgHxMwXwZE?= =?us-ascii?Q?zHWNurSfg0MgatUxkbR/y0jXuAqAlycaKQiYRmVVyDe/SazVU75Tn+kT/c4L?= =?us-ascii?Q?owNqYnlWThy+y7jRPSMntC5g2kpbEw68CYjKgGoVO4TG0Ax1u16E2Q77D8nr?= =?us-ascii?Q?izq5jlHQnr0VtfYKOO4fajTG91Ft0ALX77AHtL0wsV4CBSgYCf+max3eAZfo?= =?us-ascii?Q?T7hXdNGgAKJ3OlrW1dFyjIiy24Rqnv2TqE7N4UZsm7RH3ovnJS2LOf7BbsHL?= =?us-ascii?Q?kSEn5bCzPysgJqTaeGnIN7YQ0y9Hs7u+xllouvpG6QJp1AKPsVQDz59rBb/j?= =?us-ascii?Q?UAt4w7YJCfPmhO4lFIV70uGEOmDdC/y8vp3rvF9FjMc1RhLejp4QV+tSQG+y?= =?us-ascii?Q?9/F6fz4mzf56DpLTNnULodDHG7tLBOB7qlRz59lilDaGMTEOv+cmN8InEqge?= =?us-ascii?Q?tHJy2uFPXeIonSME0NepTlB5J3H4JZ0ukkkMrVb9j1cPWSzjqp9uNTK6s2TX?= =?us-ascii?Q?pSI+obxYd6gj1Q17cm248O0XEkCBQeKF0DyZ9rIRGYwf9JxMe+G2uH3SRYlR?= =?us-ascii?Q?gdzzVD5p98r/ZiKd+y8Q9fR35p0QS7J7qNLzOBzW94pmUIzZU1vwRtC9BDwp?= =?us-ascii?Q?xV01dvrI3XGwGLN2COyN0DAWq6kf3SvpZIxp0wLdpuirSQiQi01FoCzLZKMY?= =?us-ascii?Q?GdB4qSVH5RZjRXfTWsP5PuG0rLOcMXmzVOm90Go30gRNpnkluKuQVCANS4Zf?= =?us-ascii?Q?C5IsVscUna9C7FfInO1sLyoNsJAbvSuFswUbVp7mfeOEavadL+x/jwXOt2Vi?= =?us-ascii?Q?CmuGY4oocfHlm9Xu1qjijEoy47SsfuwhM9Qk9PWxCak0O2tVC4w3AymVkTYP?= =?us-ascii?Q?bJNkWIres6Wj8duT3WMqoydXY7h2KpHwqH1kHUIxUkpkUgF/oV0SSZk7a06M?= =?us-ascii?Q?WT+D8DesjCONAEUpk0kQfjSm6URd9vS9WDbAiPy4OZg2IL6H5ZlRjk9iEEw7?= =?us-ascii?Q?t0VSAi+zBNLjSEmQeSubdBHljvth3XNLrCqjjcR4i4WbevAXpb/etMlo1PUw?= =?us-ascii?Q?97bvAVojrOacebXo4AXj3qH5/1cBv4MRIvUuz28jA93lZbF4qvNn45hUB4L6?= =?us-ascii?Q?Kp87wdX34Go1SfkLArcoWogJ64j/llERegov68JCZQPwNJTgClJLq9aeU9IW?= =?us-ascii?Q?GKxOB12gq2ddpxUHzbE0pcd8bDXnE5sB+i45ndKaDi02p+v0H8eZ5bZ/Ukxr?= =?us-ascii?Q?0PsDp8JjDt/iHggV+EZAcOjCSC4gfxTi419ilSmkgi6emA5+EQuv0r24HyPq?= =?us-ascii?Q?hWmf/4kCQK3mmAGKGA/7m/Ukt7k+o9YJbZ1M6OPbvAuuBOUrTifZFoJxZ0YZ?= =?us-ascii?Q?N5maNtT4rWrsKD4OR65B3pk3QIPASubE1XNAptYkFJ0Uvr+VCjSfeOMd148U?= =?us-ascii?Q?EUbBqf2PCVBFFR2PnVwH5JuAbGp650nJsL2xRmNxYGUVrxrMccZfTXg6A0dq?= =?us-ascii?Q?1AYH+OeZ2bqzZSweN09uYjhSwez9BweLNpTJYTFFTtkngsxRSmBF4HC9Avvm?= =?us-ascii?Q?yY10x8ubQnv7pRqGyfKzuzD9LWRyFvJKkW55ZWE3MRxRQBfXKQ1YkHk2UITp?= =?us-ascii?Q?3RsnXwmbtkX3DEQXLKKRWXbWYJ99p4jEFbz8Hbr3IxiLU7pFOxBZnYK2a/a4?= =?us-ascii?Q?cFIvjGdsnINgw5czKRLT3rF+ysNey5J4SmnM+cgWTuR/i739UsdwRPbbyFgK?= =?us-ascii?Q?LUPJbB3jxA=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d590ebdd-0d8c-49fa-5f9a-08dea10bd3f6 X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Apr 2026 07:42:10.8050 (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: TELFiUqlZTaWHR6prnyN1Qk5576SaONgccWDr0kUG3ykppKVcZLt3dZ0noLWpGCajEbSaad7fMuBNaecKnA/eg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL4PR12MB9534 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. 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 d0c8bcc0d96a1..9bd9dc6e0882e 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10815,10 +10815,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 == 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 != group_has_spare)) return false; -- 2.54.0