From nobody Thu Apr 2 21:52:52 2026 Received: from BN8PR05CU002.outbound.protection.outlook.com (mail-eastus2azon11011065.outbound.protection.outlook.com [52.101.57.65]) (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 77B5E4014B7 for ; Thu, 26 Mar 2026 15:12:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.57.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774537964; cv=fail; b=cpc/BTy6xj/fCBkT/3xHy2sw2dkP8O43Cs/EnxZQPpKUNnF0WG+XV2lXd49C12qJoNQdXsgEeAOZkUv0UrZpEzrBZj84RRYkzp291EoPa49SO4xBNg/2a3613q9IauKa2CtDsSci3xcTu8N18fayi51O0CHYyScpiWVhqRZ4yHA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774537964; c=relaxed/simple; bh=2QWPc3DDQm/hQlDEuRvT9hzYAOqCojDlRnCC0xyN8Ko=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=NUhKiAUhz81KST+TgRrroSo4Z5LjVhJaS8CSBp9sELb3fD8QHgd7FAJIXIc+2O0Tp/rGeDFrURvdJGqGzhGQpQq+Xy5CFZivIWyLeAYQM4wlLURYXItmBQmNT9A9/2PMHc1s0NShZ9Q/d9E6Lp0E7lRWmnE884K/LEWMezdn2eE= 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=CCX6hsvG; arc=fail smtp.client-ip=52.101.57.65 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="CCX6hsvG" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=d7CIr+pdMAztf/3FmB8lRV4WHTfF5jzIt/PHlBhjBdpc047SSZQ4vbzjRRK5C7G/5A/60BSkNxJ4+va8E2CFvGygOs+TYSeTIcMLfHpnqDSe5uNbaSbruSdYb2VMfX9BgvdKZ75/C5YrJdiMdM8ZhbMrRc2l8WHihmb1ELcNDGquti98lGbQ219dAXqCY0XFAjfkvR520bvGuuVWny21ii21+Lpdexhg7R3QzAr8AZNTeasmSZyB7mhG81OKbq35qNofFf7awXTDy+RGlOKkLlDdD1Kr0D5G0/gsbOHT2DVZtQ9mNcGdTOR35cepalI9ouYp7r4TqNQeawgr9HJ8sA== 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=9ubVDpJ/2nJhhIZio5Iw0wGC2T1ZcfeaXRfUQOKjNy8=; b=ComWmyGkph+sNSekss2e4WewTYizeFRKuUuEmBpq4QyjSlcjg9y0HMYOkhXuBRtjquTn1Xhr3zR6NHCCEbN2hdlMAqth1clJ3DBmCgU58QYcP21ZYjdFA1mHMKpo53a/zC2+9mHETmowkNB0F5IP4qXK1ej7RsydcCU2Kcy0U6IRJVVI7waBzOmYz+zDjPsK1KjRhym9Mu8cFP6MeqQu4MFvtQSHSEGMG51PTxwA+wmBk/nmIdEagHu282oZlRIMFhJpAK6ecrUlo8rVvJPa2MV8QYwzVL7HeVlUFLsDXj8Ysd5R6Cn1lKDWrnQ7AkqAe+rR6U8FUD3hwnx7kp1D1w== 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=9ubVDpJ/2nJhhIZio5Iw0wGC2T1ZcfeaXRfUQOKjNy8=; b=CCX6hsvGvsholv8Er3fFE3Hmu1sdta4VyLccgi9IwsNohDylXZS3ot4ZDP8Epli3ZB9EDMApTRHx/IxCCbxh9P7m60sh2bImh67eaABbcEPKkCt9dW0X4sCy+K7n9U04LpeN6vm8vcgyXfdpHJCHiDyQPY8Oaw11b/Fk6HJxki2fBwm4OiM7y8mK3ul3qjr3K5KSjvlAcCenGY4g6RvefM3fGHdGeDqLTxubggeur9I4UI8t0+RnlRF41wZFmWQtJeMq7X9TcSlZ+tVE1E/HsaEPKnYnO/Vay8lBAhyrWAd5rN6Bb2bqtvU6s6j6wHsgWoJ/RsVRNIP8h53zUk6MsA== 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 CY1PR12MB9627.namprd12.prod.outlook.com (2603:10b6:930:104::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.20; Thu, 26 Mar 2026 15:12:36 +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.9745.019; Thu, 26 Mar 2026 15:12:36 +0000 From: Andrea Righi To: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot Cc: Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Christian Loehle , Koba Ko , Felix Abecassis , Balbir Singh , linux-kernel@vger.kernel.org Subject: [PATCH 2/4] sched/fair: Reject misfit pulls onto busy SMT siblings on asym-capacity Date: Thu, 26 Mar 2026 16:02:35 +0100 Message-ID: <20260326151211.1862600-3-arighi@nvidia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260326151211.1862600-1-arighi@nvidia.com> References: <20260326151211.1862600-1-arighi@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0087.namprd03.prod.outlook.com (2603:10b6:a03:331::32) 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_|CY1PR12MB9627:EE_ X-MS-Office365-Filtering-Correlation-Id: 70a1abf2-2f0c-4dd9-d1a6-08de8b4a1c76 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: FvpuPjiqHjHziYgfI9HCwzAzc2PA50HBiCKn2R87n01IIP2SiN3AZnR0eBd5vAyNdISJMeCMJTZbNyNhlEB8O5u5M3G1ZTCRUhhlKocFEVrmP8p+jFd8oaBPSGub0+ItqQ9khjW/+d0DS2CpoGd69djdFQjISM5a0YqE9gu6KSt/d2h1NbBPqBfyEye6mcpnnl5TgMiYCx6bvZ1KxfKbgvQfuxakAWaURGQk1JoERicR71APavb/R5ony5qyFe8i7YYp0G5WLIyVEN9sSxq1xn0Tuy7R9b6nf6faJXXm4ZXraGMRPhe2P1XqE9l3cPN9kWKHUfeHkX/UuZ1OeO5t+jhITTdKiIZDWNkF6EXiiiQhO1k8a4/KOe5pEX1feXTus9o/hjnDdaR2uLxVvU7QgH9pAkuAYGpHaDy4hycxHclfVhAFjRSwlTM7/gPIvUYYoh9FWkk0827mKAfrHk5fOzOVE3DCb3TyWDmnIFGMbX7MWIswzyn3UJOpHWVX0pfpAqVqpHu4k2RPyzMdC0dinI1YosLcs4FjN151YhLcBga8Gfmdj9/3b9S6WIx44MjdMExl7TUN5yDOcgmuiuhfyNbH45lXvlocBBe3y/G250jlq6SOhwP+w9NemeHI9LYnMR8lLCjzGEPVZAqqeCNIhoFE2Jw8w9rcnkRXrbIcISUiGUVfXdIbTTbAjtj783C5uaap4YBdI+6iKmv1XduVSnGJWIQVkUeYJ1CiWmn3uqw= 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)(366016)(1800799024)(376014)(7416014)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?aCs0P4fuUWloHa60Osicx7gxOD2OBxOLTsyNA0PqoKLL6h0qP7jjJJBoroqg?= =?us-ascii?Q?WGI28xUi5t1eHHP+/cmCeuEaSUr5V5UwDtrEXKniugbVK+DW1EhlUCLySOs4?= =?us-ascii?Q?1Oa1PQrQYe8UPAO3ABYrZyxUsokwPql7nBmwJyPTy+dGkTuS6qLuYOZigWaD?= =?us-ascii?Q?5whQDJikeSS8Et0Yq9FssNGAmvRtvn9VIAPucFKGhgpnhzxuKqEruHcRzhcl?= =?us-ascii?Q?RI8d/1dYgS12vIsURUhd0YAvSS9VYPit5I3SWWe/xOT7hCFxnfr0AW5XdSjH?= =?us-ascii?Q?4XggzMwAG4RaBRuKQH0kCIsHrMLCJK45gEOhagiR/a2eHeT2Ddww60+4taF6?= =?us-ascii?Q?xv21Fa+OZSYaCxrfg8Q6QrtFwSeMOEFFXfJK3aEvBq0dfrrRhTkXeXY+6Gxg?= =?us-ascii?Q?EU7mQsdpPQ4f3U4J7K5RA3qxlQPxtzQHmQDCqW5XEnD86/BRW5amfmBeb73t?= =?us-ascii?Q?1COf9eGAAO0IwlAMAZ4QCxCevsL3djwDHrq8nN9YU2z4C6Ni2TPIslta+ptg?= =?us-ascii?Q?3G1Uyvr8fC4kNHIFV8evcbWvSeiV3f0ZVIx4XN7HZ34w9zkQtLh7SSzw9f9s?= =?us-ascii?Q?aboaE3+1PHK4AvzHnAsLcaGYZis6KSARTesWoV9MaoVDpPyCP9/T/RkBReyB?= =?us-ascii?Q?yTVO73ziMpkPfOp/mObKQXiMiAqEuwIMqkN7JQCp6VQw6DNZ7xaG0aJYTvcr?= =?us-ascii?Q?AEXeZQnBGEkjO/AymEtr+SxGlXp2KGGm/p9HEqYzSdhR0AAsfEHL1DfdE3g0?= =?us-ascii?Q?ceUVJ6wSwPNI3PSJYCjkY4R0sI0GiZOL2aPzEibl5xgdZ+h1BfU0vwt1OHeX?= =?us-ascii?Q?ttTHDoThqtbJyjiGohDqpOOoJ/A4bVlzuRttmWp8W2/ZxSv8DWgyAOz2ssCB?= =?us-ascii?Q?HQSp16cz+Fd1Ogn7Fp0Su9D/G5avdgfASRzCs6mnPKZ0liywrpf/DmML08RW?= =?us-ascii?Q?opMzcismHJWnvWSTySxsabSJ/3014mQBQxaoHj2Tr4207QUuSQHdB0fu/fc5?= =?us-ascii?Q?ofOZYy+DkAQarRZA1ZC0mWwX76gOAbhVM8B5wo6XBeSF25k+n20017qhx8/w?= =?us-ascii?Q?OKxCuICy1bOrpMhsQkGV6KndiiK4PRQ6KDwOZ1aIEsGhOV178pBl5d/d+0K7?= =?us-ascii?Q?2wMrmpYKBOaLCkUSyGa8TZ/JhoZ5wnQpYLmOcwPOEew71i4FcS3qumMArx79?= =?us-ascii?Q?7tvmBBASPXCQYIKDKcYpd8xOQhlyEBHxd4ZgcOoCArPDBHG3brJuLvDLYrPO?= =?us-ascii?Q?bc/9kWG/Mqbi8BjlBwJMBQzqDrin0OyksmdjbIS88urSuw6VIprWEbCEN16e?= =?us-ascii?Q?qdvJoB+cPb7wTGGASpnE/wpkYXB39+84QSvYz2GoHbVjga0Ayu3ozRMwQ/sU?= =?us-ascii?Q?KgHYdQ0UeZbXiWJFXcOmopuDlPBG6TQePCYL2oid0Zp+QVP8K7bGp4I+m3fz?= =?us-ascii?Q?mx3is7C2yTdynIUeCm1g31TnJjOWlintKnxjmTHJBC+xRD4iuGMX1ANhJAiG?= =?us-ascii?Q?rrr/39qcA/rzp/Dp36Idch9g9X7Yg7qWypQ8P5mvDYK5klJn0F09R+t+l1kJ?= =?us-ascii?Q?1Z+8IPKcliTfxhbxLJAkYacUacffcAPr86u9TApgNhlAKEwrIln+es24K3BC?= =?us-ascii?Q?Q+2jSrtqQFTI2uxp3N4v7isTSdgvu1SBIFINNsm4BwboGS/v9bOO1IxDoe9O?= =?us-ascii?Q?MU24WiMTqLGhkSYIYEIW1rPVv9f8h9eHSGCX7zLqnoum++6HYlhJ1ICS1xnw?= =?us-ascii?Q?Ibb4tpi0FQ=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70a1abf2-2f0c-4dd9-d1a6-08de8b4a1c76 X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Mar 2026 15:12:35.9366 (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: J1B7NSY3yGSy/yG8vDnR5N/eLZUAOZ3dO+jhEHcUYiI4rK0mX1ak6V8Mt/bBpZb2RQBKfMeKX1KvMwR2siX3hg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB9627 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. 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 9a95628669851..f8deaaa5bfc85 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10819,10 +10819,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