From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11010000.outbound.protection.outlook.com [52.101.61.0]) (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 6E4CF1A267 for ; Fri, 24 Apr 2026 09:21:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.0 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777022476; cv=fail; b=pYCdfyPyOZ300LYDUegF6TYKgu57Bf/nVQT0DCgWOxFvdLeoawpCCFpFqfrJW5fG0uYHzzrW+O0KhyrSi6qpiR5ZQ+7MXtoaQiVNwTUDuTBdEn+C3pInnR9LvuN5hG/EDOGzK4uqq8kieyvFhk+8U3V4TkwQLkdpKh956n8b7Os= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777022476; c=relaxed/simple; bh=N0A10lKZ4LnmaHet3WsZXdeqaCu9wgqyZEAzrez1nOc=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=bbMTcF+ppr/TLuD9q0Ulz9r14GAVmJyD2eYTFz7J8aS5n/PfrJDCTwUzYjfPvW7nTfr5zHuDG0YnMD6QKvSm1CF0/FZNCI75OK+HzNjffRAm/FoJFcfz2M6o2HKaBRRZ32/V8xXrX7UXLCNMATG7qV4CS3Z2eijaBHqUGbWU7Lw= 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=XvUFaph3; arc=fail smtp.client-ip=52.101.61.0 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="XvUFaph3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Fnq4VdNSd74pCrLSlgXxgOvzUYEVkq+hzMxHZ/VHyLq6tTHB4tQcav9a1ATKdRc/3PsG9AAlmKTrk2wtRLjDIPPn7Mk66SrqF5VkL+kTXqnWXPiCk7XFcB2bcEyecAfnqGq7vbGTKdNDerhyQOENnMExFKkZEsmCKmeMyI5hnNCa2Sv01q8OIGxmVQFPU7G6PFu+VCy5nufekHF+pjLgKaUO2hzJfosvnqQpoJDEGJ39FS0dkfRdtu3zzY47+0FS4Cu1Jn/xPpMG/NI/j59nEMxzcLtrdmJHsP5AE1bsn+kGJO0z0wVzQtNoPdc/GRW+yXpkaQgcUveFg3kOWxeHqQ== 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=viRfqvrah4eN+Oh7uaztkEOR/mH/003U4aPtc8HYFpc=; b=b7VHVHeC+UqBCDHRoPv5H12qo9b/lF/6Sj6ygZ00Ga1xCV/4id9LkSRmpqlTnQnc50LGmP9Mb8O37STEFcdsc5EAKKoE2OJ3tlY+11dEv2ndauJpavY8bUdSC2wZ2UxIKkrPRlE1iL+kRjUx78gUyrgg68cALh3zlbJ2G3xxRWfUYM3vDREBMTkgwrootkoF7hCWAIzMp4fXzko6UgtmHHwwnpVEp1xqT9nv4n7Um21ZZ41kg6/0JVOaQ+pclk+HE3fFRORw/opEeCHs8R1pLefmVYDefmZSxvfDqRY6NJ1D17LcSZpnjE90lnVcfMYBrgwMEJ4aoEzE3Z1vlR2pSA== 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=viRfqvrah4eN+Oh7uaztkEOR/mH/003U4aPtc8HYFpc=; b=XvUFaph3+a2PK3Ushr7kOoOwUaT6vYVyZwRY39/wu7Gx1fvGUM2Ak1Nij5oJEfpKdSaknnUWIELrL0CpmIKzy+tFQNvkdhuZ9AV7FTbaWBYTf8wQubYxuSitk9B68WNcISCb+/U+/p7YEnF4EMGnLq87zDTrp0aMIXIEsjH+LTmZ8h/kb51603BWY8FC4YPv9P0QphX047O7sbv69wNXLNXCT/6nZ5VAc+wH5xHzbV4rVKkhz2J6yAuUksIpoycFxTKYVJQq3wFzn5KNuu3/ogz6CEmlJA0U8tmE4fSUpKHUf/QnaHGF8DZHln7y89nRMiPQBGm/HG89LMvgTFJ1rQ== 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 IA1PR12MB6577.namprd12.prod.outlook.com (2603:10b6:208:3a3::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.22; Fri, 24 Apr 2026 09:21:11 +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; Fri, 24 Apr 2026 09:21:11 +0000 Date: Fri, 24 Apr 2026 11:21:04 +0200 From: Andrea Righi To: K Prateek Nayak Cc: Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Christian Loehle , Koba Ko , Felix Abecassis , Balbir Singh , Joel Fernandes , Shrikanth Hegde , linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/5] sched/fair: Reject misfit pulls onto busy SMT siblings on asym-capacity Message-ID: References: <20260423074135.380390-1-arighi@nvidia.com> <20260423074135.380390-4-arighi@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: ZR2P278CA0061.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:52::19) 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_|IA1PR12MB6577:EE_ X-MS-Office365-Filtering-Correlation-Id: d1915a15-9eeb-45d7-bf4b-08dea1e2d352 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: W0qM5bAKUevguVWrfsrEkPmfBh0CCwSMoxD1j7meDobnhcR9LBGOdDUtaWxWB8tqCwwwVoWaXPtHbORu5J3gCApMGhxXR2z3qZxHfaBJAtD4egUtCdsAfuDGKKROqkFCHZmDPcrpvlaJGv1JnqrkhNSGObRl6Yq+Wd1MG3iXcwzggWpPNNUtYmH91SuobrAyLmnG9C3krQer46bHrUPwn7XyZ5sIYI8TwSzOeecQW/X8yBsToovfgC7Ba2+KFIvqkpuACrak9D92batc2x8iKXUye0FG3URbpbIPWkt+28a1ZXY4vg22qRYPPgVhdBH8CW8pPJMMcJCcATQm2D7AWeVbZnKLtzXGvRa5csJ4Fqq2cPW+s0LNNeDnGI+VCCVoXUWXiJ3ZnCxDL7YyhvotH3OcUkz0rDVpYgnUkSOkvw92fo3tUmvbDFwUrysaWarQ4gS0t2WKvxzL1fCgEOntkdWMUHF4xvaLSxi3bKgnDIY+ydORQ15EdLWWBe9Y2P6mr1bfWftHhaZjrl1B+Xq7ZYf4tKy3pXptm6MNxEe5raJwx1kvTK3DPbV754UUyLW0PnAPlQ2ZW7qHvbxI7M2HpAMzTfObO9PpfkTvR4CjsvtumWy7FvZP2O6D0+94ytMMirqclkrbcpDR8arxnPE0+xmGrEl/H13Jpj/Nn+G8Cei7bQg6uIdxOb8+ZU6EzuiOAV53vmveRAufS/ETbYddDuGJILzJnPoCbTbuy63ilHo= 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)(366016)(7416014)(376014)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WWeIJO6TwZtLaumtlfs33+Dl+JjaXRVNkGmzNqoSRk97+A8alHTCt1X6G2g6?= =?us-ascii?Q?eD2AEROFG7ClcsW3ID21N85d/8Ir5OhOe5cv+Pt8i1nGa4XphvdOqnOlVHbC?= =?us-ascii?Q?vsnxrXAuN8PfDgjlG48C0vhMg0TGIcH7dGofWOCDIKOyzoxeKnUHRcEdSq3P?= =?us-ascii?Q?T+3/lSajDBUCTXN43JhjUbQR+OJO+Mv7K+hvyS4Pg2AL5913bXmz7mkxhCcn?= =?us-ascii?Q?FmgAZyfIgWIjpsOxh3JE1fP5PLynXH+NNSCHp0eoj67vV8IfMVHPydkp/nxb?= =?us-ascii?Q?eZEmklhBwUViP3eKVs/wXgll8iK1FkRM4QYDDj+AUXWVY+XiOI3pvDpgvECA?= =?us-ascii?Q?7NY+hw1N7Z5ZnBaqbGAgeao+xft0skd0Edu00W8a8FZGIaDNHUbRJpZiNoTt?= =?us-ascii?Q?C81uJT/Hsm8Mv+PEEC1f7xg4wO7QyKhA9JUH7XwP37WuoZGyE9giJF/8vriE?= =?us-ascii?Q?g63/OfziuEVHoKKQ/hL7yj8QY86E9DxhLm1cMSUBNb423e69AYZ2jcJp1Xvg?= =?us-ascii?Q?6Bk5MA/j3gbzopY+v0jKdWVw8RbgcZ0MAbK6LBJ+z4XxnzuF56ud+XkdYU5A?= =?us-ascii?Q?U1DZYIey7VK3aUDBzAagCrtCe0zckkJ8XcUtlVODikQnKP+uI/shOuIMIry/?= =?us-ascii?Q?+RKtrMznJ3hEiECBSla0AORgQ+oqFpybU0dzEnniiUbpxQa0N29RPtj6PwnP?= =?us-ascii?Q?I6y1ek4pZ0ATqysHs7tS9QFeQ5PLMRT58BueXGkl9qHX1Te7seVXBKDY4U1r?= =?us-ascii?Q?OW84REErulF2l5NvgsbjkY1VQ1iaPAxjIJg57VyFfaut3RvrkAEHkDUFfstE?= =?us-ascii?Q?RkSJ3DxCt2q3bjH07s7E7omIX872r2D7IfflRjRdpKlFrba4K7fUdwA11CXe?= =?us-ascii?Q?VZjiMRPKqghv8v8wCYzeuS2vjOKY1MKAWeb6oh5XtbW0KnRINkQTaX1Li0LP?= =?us-ascii?Q?YyVeoue6X7tQ+YroKnL6oeFKbFNJd2QSbucmMFUvBg/prDgDfZwCF0Hs3gc0?= =?us-ascii?Q?GvF8NmaqZTBX+4lJwhB2ogtx9SQSFjPylkQy/hSVpW0xZx/rUg+rn9cmTLT3?= =?us-ascii?Q?YqviF7wDoVByaDg7W5YkBMSAB0xLnjgVAI5SVLCOdVxkJy8b7fPd1FGcaBL9?= =?us-ascii?Q?XL4/L1UcQpoM4pNKAKPg0Ay7tKKeOs70M3s4b3rK0mEEIsU8aAFyCYEw8XHN?= =?us-ascii?Q?zlPdpqeb7IyPT6zOqwgTVe3UYU/LerIeli66cSSML1fExBR11mZGeZfJkNqX?= =?us-ascii?Q?kh9JKqeMTJmF3QoUpfyYFKONj7tSmhaydy9JNHTwKVL6PgcJXw/SqKgGczTu?= =?us-ascii?Q?2uETqU0dWSB7Kwc36J/hPJ881vMoathROWhTpAyHpRh8hRB1jkXIu9EK0uXX?= =?us-ascii?Q?l0qLEnd80ExgfixCKOAkNB5jADykkE692tLXK7DIZrxtnW9qIWly34kQNCIw?= =?us-ascii?Q?iv2PJxWIjVDn/oJ10tYZCwSRc63XzQLOoXyACdB4AWsJDpGhTz3p/s/W1NSc?= =?us-ascii?Q?9P2YyWGkObwSHP1Jp8LmuX9EAxFwLZXmqYYhUnM8Vy9aNiXpa+faYmKCs8Yv?= =?us-ascii?Q?p0taMx9D4i3vkhFt6c6K94ioLfxyL6V5NmGTiY11NljyPAFPT5gEEniGs2OK?= =?us-ascii?Q?uw9fr9/dawTh6CH2DdGvDzxQetsVzFa4XlSkMMLYdolN+ixedztBPdsZfoRE?= =?us-ascii?Q?duYML3nIbO1HLC0yCXUbv16T0ExxY2GZVQG82GWXuL2SDgwbzqcVOj45i1tP?= =?us-ascii?Q?pRl3BZitBg=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d1915a15-9eeb-45d7-bf4b-08dea1e2d352 X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2026 09:21:11.5166 (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: YLZH/ZHy4e6ry1yyexM+uJSd2q9YeRmMzFuV1TYTrApQJbriwvPtZt0FCmmg8+GWyhdSsH/xdtF8DM0UDdd2/w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6577 Hi Prateek, On Fri, Apr 24, 2026 at 11:07:01AM +0530, K Prateek Nayak wrote: > Hello Andrea, > > On 4/23/2026 1:06 PM, Andrea Righi wrote: > > --- 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)) || > > update_sd_pick_busiest() goes over all the groups of the domain but the > "env->dst_cpu" remains the same throughout. > > Maybe you can cache the status of is_core_idle(env->dst_cpu) in lb_env > at the beginning of update_sd_lb_stats() and save on repeating the > is_core_idle() test here? > > Sure, the status can change while this CPU is load balancing but in > that case the sibling going idle will start newidle balance and it > should see the correct status and do the right thing on behalf of the > core. Yep, we can definitely cache is_core_idle(env->dst_cpu), I'll change that. Thanks, -Andrea