From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from CY3PR05CU001.outbound.protection.outlook.com (mail-westcentralusazon11013061.outbound.protection.outlook.com [40.93.201.61]) (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 BA2D713DDAE for ; Tue, 21 Apr 2026 13:38:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.201.61 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776778730; cv=fail; b=h1A6fqQHYOs+QMEvHTCSmFHgSakpRKkkD04rycNAOWDRaO0WgPhFAKidHls7rPUw3/DNCxztMvTINFV25SN38+0lSmnNvshNImtX9a39EnTinNSjIVinrds7NZN+l+QVWPEqGlypVrEeCSXMVy18YCGDCLHKhNfeQCep+sDpEOc= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776778730; c=relaxed/simple; bh=AcETF9j8F8OoHUGxMquYUPYhpQD+Qx9NosWCguA3VGE=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=ktb/pXlGoVDlEWhEzCrYPpvO9dSFR5fS3SWYXRzSm2KN5PHBes4P7BRxGpeppyhYWoXxtxQE78RuXEspc8Ek/xMYtuvO07UD4RwqjyXaPgG42LgR1WCtN6uTMwcX18g1sSyeqwMXXL8G0Dnb5SGsSnevrkuB/HxEgKU3Fa+ShIc= 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=TFeLgefm; arc=fail smtp.client-ip=40.93.201.61 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="TFeLgefm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bkMTcJBK238mdEpgPDFbUDMDvS6mqbshNBOae0Y2U5oUj+/ewMsXmtSnm9R95PLzKx0JrmQnleDZsuIP6tR1iKizbd0le64c1wO6iq4YWW6uSOtnz/0SzUTRzfCSQ9aT4yV0tXPvC/kNkn+FBzOTAA5EgrZkqOTF9dwE4PxHO2PwDz19kZXiZRdIk1RmjyqsBjHUTqkgsvWbb1Eenf/lPkt2xXP4xec7xydd9obnFwIIybSvqxleRMdig4p/K5Rqi6rEnt2CjJnh6s+EW3KplNCOxzBmoK8W264eDY6UcRG4WZ7I773NXxBRq2jVX+dRWUA0D14QYFOKW9F96oMHOQ== 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=c7sDV5eNUssKXD8EadoonwCW+KURxgrq6SfFJCEowko=; b=e5IEpRlD5DaWnWuREfh6PHpywms8yuaRJjv6xvakeJxa/BscsZ22qhGZ+jANMqih3kcCQ64e/Jr08fVOzzOz+JPY7rLq2L3DJ4iwulTYR3uP/O5kll63XjWIyMNqHhxWtl4dou+AaVmctVwv5NQVNnCUoXwpsZEsKgheJccTx94SxbsNhKiiLmXKRDPrz3Ld5Sr/BtxnwWrMiSjG6pKsgwn5VOROGzuin2/sfAikYpIFwKUeMGPFMx9VKxTf6sUdMndT3vfk8KDfrPFOZmngnc1rVJqH1rTMmjFiCIuTFLkJOklnxuXia9nNeUFbz6CoBqRIKjcJvK7RXj6u4szazQ== 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=c7sDV5eNUssKXD8EadoonwCW+KURxgrq6SfFJCEowko=; b=TFeLgefmhugdDRJ8EktillDYNHVxK5Ao+q15oelygCYNSaL0gZ7U+hkGhfYCw/YjVZ0bvUXrJTbK516hIS6n+ycsIdwRP8CxM8W0i38a7jQV6KrM0U4jLvSrK6VMKLiA5Un/HlblDAF0QMchXGmhYWLab+KYfPtsJMlwEdMAnkIdVI1DTCHWyRpxLHuU04pyHVtgOyhdyFM40/p9JmBD2UNnfm7l/44XicpIAeQiNW75RQnpoL7ruzYJjalBhj+hzHpNsLRgub4bfMOZR63D9kMoTTIOmMwRU0w1npXc2xHF0ODMe7mtleDjB/6dFqluORhY69A4yjZjZMzZHU82EA== 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 BL3PR12MB6451.namprd12.prod.outlook.com (2603:10b6:208:3ba::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.12; Tue, 21 Apr 2026 13:38:40 +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.016; Tue, 21 Apr 2026 13:38:40 +0000 Date: Tue, 21 Apr 2026 15:38:32 +0200 From: Andrea Righi To: K Prateek Nayak Cc: Dietmar Eggemann , Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Christian Loehle , Koba Ko , Felix Abecassis , Balbir Singh , Shrikanth Hegde , linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] sched/fair: Prefer fully-idle SMT cores in asym-capacity idle selection Message-ID: References: <20260403053654.1559142-2-arighi@nvidia.com> <64fe32e0-d428-42bb-beb4-2656d8781b0f@arm.com> <7313ba07-7b87-447c-9c48-2f6b2b53ac94@amd.com> <1230f5df-470a-4e59-8c8e-fa159a6fc093@amd.com> <3cc4d887-f44d-4fe8-a57a-73f595647eab@amd.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3cc4d887-f44d-4fe8-a57a-73f595647eab@amd.com> X-ClientProxiedBy: MI0P293CA0015.ITAP293.PROD.OUTLOOK.COM (2603:10a6:290:44::8) 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_|BL3PR12MB6451:EE_ X-MS-Office365-Filtering-Correlation-Id: 6433450d-d194-4099-343b-08de9fab4c0d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7416014|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 5K22+oDTTS/yB1gQ+UF0BA95iCmhrWw+fRFG9kC09ZsT2yUivo+0RQKRFM1ZIlnHui0ltEMdcBp+3GURW38g0ij3V2ULpPdcVh4r1rO8dXibGfua3+wX2kMCYSCMs5jV415uGL1rB8+bQu9H904cV3Svz5ACf8q2aXN16PRBe63eDggDBnZ8l8rffbgZ3+ZuRfc69Vb44E8u2g15/pqlNGANpULEwX8f8Jybx3rHjAvEbax39g4BQceqUc947c7ZDuKAtH3kVx3/GOfQCdbYi9TtjGp9tnOPLLaZW6ljVipt4rRi24d5g4JvvrvRzdPTNgbyGOpjo7L0A5988EcN36R0LF9XBL6Gd2dQxOgSsjMW55xNgVUjTpd8TxYI+0cKoGkPl/Ia8a2wuXyZgYM767j7tA/x9uLdUM+ORyHWUa06eXBJNBb/+7rFnWOXdsMxZjA6oMpcFdurwap+0Yd3/6JisvdmL5vdTPGBbXnKB1UsLouBOuDCmmunhQu+v/hdW0LmkIqwfdPROhDfP9mHZBZfKsJMacu5QNNwsovhXBXoTwyBbnuCedeEcnLmHHxaHcESA512cz8zP3gszpvBOhW+doZf/NGv/S//Q51kvYWP8GLqYAhYtr0aLAx2MVb0yIR7QlaQgYLHxifOsSML3ektNjIDqwzlY7o+y08lzkgETdiUSCSLMj3DqKfpUCfrN6Dwf0/03FGeEMZD9aJtVzfdtyB816oIKnvTn1DdpWg= 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)(376014)(366016)(1800799024)(7416014)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fqkC9nOmwYljnLdg01XkpES20wPf6Xwr6MH3nr265wwhbJycr7meoRep/fDD?= =?us-ascii?Q?hMMtVQ5s+PPguzyf4UH8qmzbGZ3bmwmZIM5DAkuJSBSLejwWUu7X+MULE6Au?= =?us-ascii?Q?mrkTnVtSME7kQTPc9z69tIKWIuud9lM5+4YPAp0s3j4YZUDorZo2Uv5Qk5BE?= =?us-ascii?Q?thLVLomoIGKYFguHEytSXZssYsuciReejTkm2Lho03syUmHW4Gv9pv/ormjM?= =?us-ascii?Q?Tf0JMoDtpHXi1id5bHyxvwY+ujmNSps32zzUvmW6elzJ0rWQH6PzJuMadib5?= =?us-ascii?Q?CmrIOfYy11IAni2YoYetPpX49pggDeXw0W49DBfOkJmaWMKlfkfYggzMiRsS?= =?us-ascii?Q?1chxpfTyxwo+xNvHuYpxN3LV5+j7pYUhD3ksLlzqu3/Yj43As0d6bSxOLJFc?= =?us-ascii?Q?mwiyrZ8b3KIlfUIqwwMQY+j3+ddmhosniB3j+ARqM8X0xrzlS9CVTh9EtAmB?= =?us-ascii?Q?bcWHHFAU9idJaz3vCEWHUN4aSbOJVekguyY0OCaE3Yi3sIQD7Cc56z7Dbppr?= =?us-ascii?Q?MZhv5vdMhaSVkzA1L1FRJL7eS5r1pt5DCcYQDBrXtYTbwshnX94LwO6GfG0e?= =?us-ascii?Q?Yy96SQZalD8fbd9H8u8t69Lkg3yd0Mu3e1Tg6BpqzmZmXbLultCjlAkhSt0g?= =?us-ascii?Q?kVCAMpDSWZpyGpgxuHFpcp9HZ6kLGJWWhrUxXvqxyIX3KjEbx6ClgAx6zARE?= =?us-ascii?Q?opBGNoEyghFi6zEV5rapzK0mB/508qhqx6J7rp+MIYf9YP+GYkYifIact8EL?= =?us-ascii?Q?bSzOcccDK/DPG1Ih5BMJrlPFUSqzWKHWOCWxpEy2zLg/WCe9JAM4tZY2M9Ob?= =?us-ascii?Q?9WLXAJ3acdaAmIyywrfqb/c68y6ZEWSmtPYojHr5NSZ0/sdoDC7srzQ9EV37?= =?us-ascii?Q?+CeY0b80qp2Q0/V6bPuZWDo3P7uPn5yYyKetufDtjfixIOay2omKrbcT0dLp?= =?us-ascii?Q?HC8NrMyUExTCyGNZIcdYJ0pONTZjdcFwclFP1tEMvb4sj5uUb9OV57+dTORJ?= =?us-ascii?Q?uu7Rwn0JXjZEu4r+U9/go5a1iXitKvvVJuUBs6aF0uVM7Iw34KbTGurqVS9z?= =?us-ascii?Q?6NMZ4FtxOyG1QWbtNoup0xMVqwTE8i2vAp0kvPbTSFdOjftWMuq1I1PykwfP?= =?us-ascii?Q?TOPORIIr2BlB6G/0dzFqB8ixakNOd/Cns72UHgrmZx//BkB28mvX+EVf+fGN?= =?us-ascii?Q?zyEDy1uijqI3TY1HLS+rxbhQrampHrG/Qos6MAFrnz6ae1fdgnV9nzyzuTkR?= =?us-ascii?Q?FCsLtr8CzfkXq6Wq4+YUUYqe4qjYCwNFWFwNY2YGCLPBpLcWwT/zYBI+wU4w?= =?us-ascii?Q?C+9hS9sWjZTLWjEuKJF4O/jlrK/rdi8Cdf7FLko4ez4qwdYhzVEetmzFRAGk?= =?us-ascii?Q?Ulk39WBFxa1mzq8b6nHoLsxSxLokNzjfGC8Cd9S+pzGTaL3sABZNsDa4kT/8?= =?us-ascii?Q?9WyqnhddP2TAzy+ThPdXzfgTy4z+SbbRrapK6TAv8Y1lGlKNs7t6y8k7Pvor?= =?us-ascii?Q?TuRaXk8WRvEUz3En9XchugZ49UnYp97w/nLJLBdQTJjgCfcGZZBMi72otsWK?= =?us-ascii?Q?4B3n4EX265CwwHTPe9othvZSLwDTmqUiuux60ncnLk5xljArIjpk2I+MO/FM?= =?us-ascii?Q?Yl7OqOLdVqL91jPXy1kF324dkPQ90bGMuJPz54HeOte2MfaZ5/Jw84bJ5Htb?= =?us-ascii?Q?dPQc+Lf8C91+A4oaLwWnRzIqkCajDpzUiI6JRYgnwgbRyBd7Ju6p8QkU3klj?= =?us-ascii?Q?5aQgTW71Ow=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6433450d-d194-4099-343b-08de9fab4c0d X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Apr 2026 13:38:39.8936 (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: f+9cNdzLDUNUekFqIpRMpxFV6KaanebPLmutyqFuc8oyI/qnD3MpoMVHyT/3Q/Uvu8TcneJOcLgL4mJ1LyhBbw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6451 Hi Prateek, On Tue, Apr 21, 2026 at 04:52:46PM +0530, K Prateek Nayak wrote: ... > Can I trouble you to test the SIS_UTIL bailout with your series + > the topology changes: > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 78f2d2c4e24f..1356bbdbccd4 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -7990,6 +7990,7 @@ select_idle_capacity(struct task_struct *p, struct sched_domain *sd, int target) > int fits, best_fits = 0; > int cpu, best_cpu = -1; > struct cpumask *cpus; > + int nr = INT_MAX; > > cpus = this_cpu_cpumask_var_ptr(select_rq_mask); > cpumask_and(cpus, sched_domain_span(sd), p->cpus_ptr); > @@ -7998,10 +7999,30 @@ select_idle_capacity(struct task_struct *p, struct sched_domain *sd, int target) > util_min = uclamp_eff_value(p, UCLAMP_MIN); > util_max = uclamp_eff_value(p, UCLAMP_MAX); > > + if (sched_feat(SIS_UTIL) && sd->shared) { > + /* > + * Increment because !--nr is the condition to stop scan. > + * > + * Since "sd" is "sd_llc" for target CPU dereferenced in the > + * caller, it is safe to directly dereference "sd->shared". > + * Topology bits always ensure it assigned for "sd_llc" abd it nit: s/abd/and/, BTW we have the same in select_idle_cpu(), consistent typo. :) > + * cannot disappear as long as we have a RCU protected > + * reference to one the associated "sd" here. > + */ > + nr = READ_ONCE(sd->shared->nr_idle_scan) + 1; > + /* overloaded LLC is unlikely to have idle cpu/core */ > + if (nr == 1) > + return -1; > + } > + > for_each_cpu_wrap(cpu, cpus, target) { > bool preferred_core = !prefers_idle_core || is_core_idle(cpu); > unsigned long cpu_cap = capacity_of(cpu); > > + /* We have found a good enough target. Just use it. */ > + if (--nr <= 0 && best_fits == -4) > + return best_cpu; > + > if (!choose_idle_cpu(cpu, p)) > continue; > > --- > > You can also try "best_fits <= -3" in that last bailout condition and > see if that help. For the bailout condition I don't see much difference using either <= -3 or == -4. In general, I see a small but consistent improvement with the SIS_UTIL logic, especially when the system is close to saturation (as expected). So, this looks good to me! Do you want me to include also this one in the new SMT-aware asym cpu capacity patch series (keeping your authorship of course) or do you prefer to route this separately? Thanks, -Andrea