From nobody Mon Oct 6 20:59:30 2025 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2104.outbound.protection.outlook.com [40.107.102.104]) (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 F0A2F214A8B for ; Thu, 17 Jul 2025 06:21:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.102.104 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733300; cv=fail; b=fvvjBFsD9zdb3V7BwOT+86+50dPluyXxy19XR9ovxWI6f9xm3TsO2p3ykT+fH2XYEbTAksENWbt5QtSPeNQQ0Wl/DZIfRkDqsImGLwK6ph4aCMM/25x2s1kPdDiKr0pXE+CP4JWmQWHaafWKVogmXCjJGRxYCf81Ju6czXNiGak= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733300; c=relaxed/simple; bh=/Q2stqyjCUUFjqBwhcD2UbzsqbjWS1EfrJcF94GwPQo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=pIe/D8RQzaaJ6PDfc4446XMyfHUd+7RlfSVAfICHJn3XTLbyfqRJfiKyvNOFj+SYbR6eZjYz+13yveY3gWistHAAGYJPct1tsKJMZl7aguv8OhC10N/KJYeSP2SPkV4AFKmkJmjasnCzppdIMfdz9eOs/ONqrqy9o3BAhRFRIes= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=DfV1vU7d; arc=fail smtp.client-ip=40.107.102.104 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="DfV1vU7d" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ex/N+TjCd2Id0EX6dKWf1LXM8JiSTc0XfDZe+qe7PYICeu8vUSzit7BV8CmXERs0tQkhPlI1+urKIrHCtloiSDFqAZps3RfIHUbmRKnC6ncorpZvwS3yzwJecwECj3R5DISPNJwAJf+nsC7EPa0e9peYXXfX9lC+GAg+UJjTrEvPRp6YZVUFu1VyeEwQtrT+9JZ34Lg7toSx1Yp5qZEi3Hq+EnN+bhi/uh96+66CV9A8ePkeXvAONkwO6q/M8Q5UW2VouTGCBggoTZsObYR+izcSmbUaLL+1HD1M3DskO/X1t9I4R2u7ICHVXaSbJMnGgzpB2TW4g+APGLpPQtjCtw== 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=kI7QL4McscNYNbiEtk9MH+eIEFYEvUdI+HqMZGVAiYo=; b=OupNS4HFLrUA/4xEFKkdvycdLq5q3xcixVUVb5o86gRYI9Mzw3QDeIOj3l9t2cLAHRub57CTCIieY/6kfKouqbtMss+llr53+/vaBBFIJ+A7Zkz5v7yJPlH5awRQenS1aN3eNK2ARbBGOpRPhM60x0QgusHQDcGZseaR3aWIoKJniBErTRzbLIBfoZqJtyRb6kWUk4TbDvFNzTZqV91v/Yj7jMp6+yZ+P+2kffSdY5LehUm6hdia20TDkV4xyafCCC/4i+Qn9yVpQuEO+RSfSo9P9K3J/kXQf/rcbOkm842fnaGk852c88rnZJ504L9kJjNg7ghM/niZbt7AImP92A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kI7QL4McscNYNbiEtk9MH+eIEFYEvUdI+HqMZGVAiYo=; b=DfV1vU7dM9GfONDX/1dBcQL2mWfD1NHm87g+lPkcTqy0CSgUvzFKmBCVGNsg0WZQmFQMVgsNFDzUWH0bMj49dn2xieIGP0GbMSV3//ofCUf/gpRXT8KwQ6e/Am0awK567jbnKZfFImuNojq220xTvt/Wl5D/K+iazU8RgHbG63s= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) by PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.39; Thu, 17 Jul 2025 06:21:34 +0000 Received: from PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2]) by PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2%7]) with mapi id 15.20.8922.035; Thu, 17 Jul 2025 06:21:34 +0000 From: Adam Li To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org Cc: dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com, cl@linux.com, linux-kernel@vger.kernel.org, patches@amperecomputing.com, shkaushik@amperecomputing.com, Adam Li Subject: [PATCH v2 1/6] sched/fair: Only update stats for allowed CPUs when looking for dst group Date: Thu, 17 Jul 2025 06:20:31 +0000 Message-Id: <20250717062036.432243-2-adamli@os.amperecomputing.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250717062036.432243-1-adamli@os.amperecomputing.com> References: <20250717062036.432243-1-adamli@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: JH0PR04CA0013.apcprd04.prod.outlook.com (2603:1096:990:4::12) To PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) 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: PH0PR01MB6761:EE_|PH0PR01MB7287:EE_ X-MS-Office365-Filtering-Correlation-Id: 88717ca3-b987-4f21-182f-08ddc4fa2d64 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?rf+cxrmk98K50ePGN40bHKpx9CDC3IbVJJZqLeP7lHKVfjX2KF2TKe1S8MF/?= =?us-ascii?Q?aSvHZ3dMxUJskBupRwyra9sgAdoJxw0r2+JRydxNejJJdCovJFuEmIREMbbR?= =?us-ascii?Q?OcihrgPzMcqCg5FjAcgM19Nwc19r4M2EK7ioQv1N+MtHgJCLWi7gWKN9s2pm?= =?us-ascii?Q?e9wEmUoC5h5gM7N4MM1rvTJhPgzdbSBYHbXJBMDp5cp1uXTfx77ZVrW7UuQB?= =?us-ascii?Q?NFjvnOlMhbPDr4kOL90TTyWq2N4LG90bO3dtvGie7GYbahjwc1DR9q5q5hzW?= =?us-ascii?Q?5KWNSpzBREw0cmmf2QxHWBo3kmzujfmvJRb5ca7OyrF8kSSyciPmgTcUCYm4?= =?us-ascii?Q?rx7Na8bb1xz38RVNplXIAYRiJO1vBw+JTGm3bAA2+sBEPzQ8p7rt36fbkMBM?= =?us-ascii?Q?2QBqrJFtTKZ1yTErJ/XKk1WZoFndhdd29i4yMqY9sxxugm1U7zdQa3B+5diz?= =?us-ascii?Q?+Uc/IRl9ez64c4z32Q2yLRpcjUrL6Ul+uETMKJgbtBMuWffB0E9ouv4EGPI/?= =?us-ascii?Q?q147o1A95DY/2+7olfARCx3EplXO9kwpu2q96BfNKIWanCTXNVr0QEMODuhG?= =?us-ascii?Q?NEkre333I0ZVGxn7IqvLAoW1b6DAnClhFxesR8eR8aI4ufVc/oaU8tfIKGfg?= =?us-ascii?Q?brudSj/jUw+gaSeq99ILNFETci3pBWzEjycXKUtYzn0BplOZs00RIX4pVTkS?= =?us-ascii?Q?wzNC+0T7eXMBXx8jHYP1HAFC1sq8MpeG0ZgUkIs7afzZ4Ga5sxmAZ3yNT5e3?= =?us-ascii?Q?R/3jxh/vF+RLbTxX/6zW8ZiRZBkTzHyayYOZzJb+PYZwPpsZMltl0cBbgrB/?= =?us-ascii?Q?cRsBtdl/bCJRqG/14XhePJhHUw9UIUYB+99h5Lsre3iEy4nu90qGBAytraHa?= =?us-ascii?Q?dQze4K1sAg3SB971nr+FuAL5TB3mBvdIcV3BQH8howcwZJ9rLvwbElu2F0Rj?= =?us-ascii?Q?Ex+T4kb9hMBoDckB23+LQ1jpO6o3nFJ+btmiW7cDHIYLlUtuEdFS/xb7bO+Q?= =?us-ascii?Q?rzAaXrdybA8HguF1u2bt2e4NCzCouKey0nDu+/b8Nw21dIUsDggAo8Km77uf?= =?us-ascii?Q?9Si6mwxeNdlP+DcBExCrJIVWtxRY1nQVS3XXX9X+nvbXugneIOhHq/DnMiAo?= =?us-ascii?Q?1TFSXVJ8Ztx1ARUIQSz+fGAEpQqjOQi4wiFF1FlkEUWms7Sy75nIjrHlrecC?= =?us-ascii?Q?H2T/lUWeYSN2dPq3AlMyO7f/AwlXfjHqVZfNVGFX0bf0HlaCLYJ1V8VRJ9/w?= =?us-ascii?Q?TEjRGc6Q4cgHKBau3C8cm9HgcIXEUHjaO8WhEe4Y7Z5xq+iQmF8xz6cTYaUy?= =?us-ascii?Q?UldClJREB1le47FQHP6tvH60VDrxGcql5QJ4nVC/GAw9FzJyX0z9VZIozoKx?= =?us-ascii?Q?HEgWMTQiJNeg5RQYHAFAeOsdJv7tF0dIKWLlq6cfi45C02xpGG+71m0B9IJJ?= =?us-ascii?Q?+7M3eKC5s+6TopEgynyKBSLCxHYUOukt/ji0thInLnW8WB6Z+TsU3w=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB6761.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3Y4XyJwzgU+FkCqQ/vadzhupMkluWWyZPLn7xcPy5i3MJO7c3CvP4oYz37dK?= =?us-ascii?Q?eKPpvXt8YCZjtCcFuEBkf9E0Khhb8YTaFNqCB7OTVZawoiylvUOLdljA76fz?= =?us-ascii?Q?Yy7rMfMqqiBK0PaOMtpqjHJ8jWd7xFDZ//xYmJCdXlPH9pcsYzRbK0uXbpgi?= =?us-ascii?Q?UDSXHMq0BaJYDBqobYpzOXno0FsVdEzbhk/vq90k0RUNcc84cUjpU6r9gEg6?= =?us-ascii?Q?vCmPvInfGVAX4drtVjhq02nrSJXbGwBu2VuFY/TXi8gH6ELmLfvJD22+9FYX?= =?us-ascii?Q?o2ZcXt0rjHEUf81xLiGeCP2LIAMOeP7yyDFVzVvgWHW/c+wxRfPq75b1QzM3?= =?us-ascii?Q?45BsivxBR/6FRpphuwIOisW99919TDHmV9sEQ6fbHP+oIvyhgEzlL/OYD7uN?= =?us-ascii?Q?ybex+taZJUTKjnhFYwBT6xJdLXdgRq9VywZUnnMMG0mQmeGvr0kswo0y87OH?= =?us-ascii?Q?WwnLGJ++Hm4etk4tiKpo6wDGuTqGP+8xssVrHPVftoCG5FIMW3HSruEWGumY?= =?us-ascii?Q?EqSF5F8J/Zy+5LFe2J6TOB1ABKPh8lrq27nptswgU7s+X6MhSOF0mso4JvIa?= =?us-ascii?Q?qyEIv40tblB7BeUoLzdT4EyVFYGARRlObPSGvB/CtI0oI/IJD4zSScCahLQ7?= =?us-ascii?Q?5Za6gUzMPjDs/t2NJdfmHGUZPKw3KPaHdeQ/9d370w03USEAj9P4rh2Nb+P6?= =?us-ascii?Q?cIpXw4ZPi4QtuoM5CqK/zNZ75ZoxA/hsXswdMs/ax1HgDQEEH5bCSgAJbLj9?= =?us-ascii?Q?Kp/tAhYe7Ud0IrSkNm8A6eF6eD8BOPwclJK9NJO2Q8kTf1gtDlb8mRJ8cG3t?= =?us-ascii?Q?W+JBdMiflr+TjtQvTWVRiBocY6UlewA2k0mBL62lrfcL6jilrhrEoFdpAR7N?= =?us-ascii?Q?lp6S5BHT6xzeq8A38uQUY3F9Ek+KrGKv/AQoV1iL0ifInBHVXQiXzvIgdpD9?= =?us-ascii?Q?/54NLO9U3xN2+N0ziziGIJZ7++YGsv2H6TgJSq4QbDWHmJFYpO7kGxL4DafV?= =?us-ascii?Q?mKgyrawabORp5QnLyTIxBGso0E1EdlgKHZEFIirP7YLoJko/R9l3XAPEFG88?= =?us-ascii?Q?Az/TGWtCJAsunmu1MwbNTJpZs2HzLADC5dqmOkAS8Tq8sIvRCEF6hG/3JwLA?= =?us-ascii?Q?9vXWqlX3ZhWCOWqKKO6OEaC9q0rZUYVjXvbMQBdEzi83/zuNdrTZh6UZllha?= =?us-ascii?Q?uOZfjRZU0WznTdW/nrxujAEcSlcVLTTDqBQBLIzu9HhlYRmH3DpwACmdXvkH?= =?us-ascii?Q?dUW6I0rmlRq60hFQ0egjoveV3ccZWP7jGLMFcBAYQTxhjd0jz9izSHKX7IyU?= =?us-ascii?Q?sKAFvn7GF86AkI6in3kUXKiJhtoVMBfeibZQQVxFDKt9VWF2118drLIwvORO?= =?us-ascii?Q?6AmL7ygF6xebUx2+0jHFmJ02zhVphNx/XZh/bARMepdiamnap9FZxgf22u7f?= =?us-ascii?Q?W0Q1eBEuB7yKywd4GKEW0sLlKVgXdCRH/Uru2nCebEFOUlg2YSu9DsLlZaHM?= =?us-ascii?Q?fhsBDwB/+mvXC+2hcFESbDW4F9G2GEd/+WJXV0HyGsnaER6hvVsXi9wsXcdE?= =?us-ascii?Q?f4xch0jXidU5Oqmuxn6R3cNuyXIcllsYg6uFsH0rYFoflkEml1AEl6Z/XSNH?= =?us-ascii?Q?Ya7Ot84vchCDHOiYwuXgmgI=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88717ca3-b987-4f21-182f-08ddc4fa2d64 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB6761.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2025 06:21:34.2428 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: s6iOy4qUv/stjl6JsvjAHvIajA5Hm5U7b0vGqKc22lSkEJrWFa3Zw8JSiLoc2xAXzL0GAtdBKtEt7BQKtLKf1g5biI/3Bn1u2eVXt4xchLAyoh7YgUbu8EnLUUX0iiaZ X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR01MB7287 Content-Type: text/plain; charset="utf-8" A task may not use all the CPUs in a schedule group due to CPU affinity. Only update schedule group statistics for allowed CPUs. Signed-off-by: Adam Li --- kernel/sched/fair.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 7a14da5396fb..78a3d9b78e07 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10693,7 +10693,7 @@ static inline void update_sg_wakeup_stats(struct sc= hed_domain *sd, if (sd->flags & SD_ASYM_CPUCAPACITY) sgs->group_misfit_task_load =3D 1; =20 - for_each_cpu(i, sched_group_span(group)) { + for_each_cpu_and(i, sched_group_span(group), p->cpus_ptr) { struct rq *rq =3D cpu_rq(i); unsigned int local; =20 --=20 2.34.1 From nobody Mon Oct 6 20:59:30 2025 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2110.outbound.protection.outlook.com [40.107.102.110]) (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 405E82153C6 for ; Thu, 17 Jul 2025 06:21:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.102.110 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733310; cv=fail; b=bVzfz75j3bAGws+ICxlKMURXg4em+EB42oPcYUHwxhFxNzBFtswe1oRtRJbkUTlslCC+bhVJ7f+Rj45xJzqZMmZEWF2LCQYZECPWxRZZjK30WOKVdrD/B5h8Vkym1d6j5r69XSxSNi2bWHzfj8l9zf15Izda+frxQE9n01uQHVs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733310; c=relaxed/simple; bh=lx7YuZIZcIXtD4B2I2vxBDQ49mQlnJQGJpepvUB3f5A=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=WtZm+ZJhYx/tftYmdrdvKHIUt2npKLDTY/SbukYbiWjxdt3hNbh42t7oXm+5WM6gn8tsnWCApclnt3n9C3ot/koPBf0Ejl+ERBoJobhw4Nx0DIbl9ItWRmKOjt3UBnyVneQpH1BcYRy78Vo66PPP9JV6e1vW5hVDaQn5mAv6ZEk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=C9KMQFLp; arc=fail smtp.client-ip=40.107.102.110 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="C9KMQFLp" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KmfNumvC3fEWJ5P4jluw4Z2OR6EppJoDqlry1mMCdSMPEcc3evYsiJFWJkSUNqFuZ9oWcX8njdRSo4bNCFSAgQ6ndK4CcGkg9PHaY/XfhqzlGDZj+Se4dqyFFaXr4flL0hZHNixQ2nMqlWAt/Hm2jCzPS7mxQL42pKFBtELnr4CLvEEzfn6n+wfaxkmWqq0Ejgm8XK5KIrdTJGlHn/sFC/AxKhh7DlgbLdFaajPtBnnG34FlvUJFR2135ajm3NvfIkxqTIS5Z8HNI2ndDuSFQ5rImNg+A2xF2GJTtI6NXXPMjpTyXXq7b5zh6k1iXLcEgnHKFT1/VfTw3ueN5rPNog== 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=Wro6z7XbxzEdogAPnsU49lZpZV8MbXx/iggmpo1ZrBU=; b=nyq7acuA4pZsohI0bbQj4WXMLZe/oMkANsDLWXOIX/O3kZO0HEAiez7f6BZR0RgqaOVKbJEIfh5r4/2WXlvNWbfzi/V5Or0gHTUtoZMnr4U7NoQTdMAvMrH72ZilgB5S1mypfq20VXfY12ZqXEIilr2aJuocHDsGA9j6RLuAQTv0cHGYfxkcSUUmob+2uoogCcwoDMJQuTZPGAq/DROeDruRgXVFkHJkLFHgXbWTarGbf1u0vlGeLsBM3UoLcwjVuK+4jZDxwmDOK8PZn27Vy0oVol1f5xWGpr5v7dMPXZVIYJlMViVLuGhgJZEdp87m90t/ONvZ14sFBkrpI2Puog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Wro6z7XbxzEdogAPnsU49lZpZV8MbXx/iggmpo1ZrBU=; b=C9KMQFLp0IKynquPDQC4XOt0REh738Br2hh7BPoDhMk3BHPlXy9PdFY2MafoPulBMLkj2ijoUPOpRarJaZ8D+FHAdM2HOdfxWLTlSXFECul4kZIfQ9V615ck34lyyT3vLnHANuEZoZseNX8SKh58n5LdRrZgl7ntrZ0pShYqRQ8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) by PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.39; Thu, 17 Jul 2025 06:21:46 +0000 Received: from PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2]) by PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2%7]) with mapi id 15.20.8922.035; Thu, 17 Jul 2025 06:21:46 +0000 From: Adam Li To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org Cc: dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com, cl@linux.com, linux-kernel@vger.kernel.org, patches@amperecomputing.com, shkaushik@amperecomputing.com, Adam Li Subject: [PATCH v2 2/6] sched/fair: Only count group weight for allowed CPUs when looking for dst group Date: Thu, 17 Jul 2025 06:20:32 +0000 Message-Id: <20250717062036.432243-3-adamli@os.amperecomputing.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250717062036.432243-1-adamli@os.amperecomputing.com> References: <20250717062036.432243-1-adamli@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: JH0PR02CA0006.apcprd02.prod.outlook.com (2603:1096:990:5::9) To PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) 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: PH0PR01MB6761:EE_|PH0PR01MB7287:EE_ X-MS-Office365-Filtering-Correlation-Id: ab7e70d5-b690-4dac-f1bd-08ddc4fa34a9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Zf4hV1Pvf+kbamXlQSG4G7GMH2yT6SzoRZm7RCuR4PBR5R8isK5DJJDdbsQ4?= =?us-ascii?Q?VwS6TddzzJhJrVY1DR4qne1W7MM8Uu+ktXJwPvWbnNOCF1lpJ53fA387gMWh?= =?us-ascii?Q?TfPivhYzb99GuAKTcS/tCp2gF6T1C3yExPQj6V+lW6am7JpMLSccCJwaAtBP?= =?us-ascii?Q?0mPg377jB6YCHYyXnR82omoZxcSh6poVQdMBIHZ8S+AI4++ZswxJow3t+WGE?= =?us-ascii?Q?0UM5LympJTppXQ0An5gnhs/poPyBlwqtVkGKmizQCTCKLeTJ708pADRJGT0H?= =?us-ascii?Q?MP8hE0ISXAQWuWIrWc7jS3UR2sI4xemUUOvLDri97cfg512b2GVH3ASJxCcU?= =?us-ascii?Q?6KCknxtR3uCNyV7vC1pXX5hgU7KmYRajMvI+LvO8JEBpUVK6mkxNW1vlN8Em?= =?us-ascii?Q?td/ilyVJUdgmklvVj8yHSnZwOSVgeAR/XYJ4oqIYahrSLeBY8d65g9gdxW3K?= =?us-ascii?Q?g/XF1swGV8iXxpKJG9Pr5XBp7m5+sP2POmf51IAS4Fwy84TtJ25UNgPm+ZNV?= =?us-ascii?Q?5DYizdX6VwC0IwnYQuwGHQunGj3uGt7Mp+znqCarSL/MVfkhAflC4eVyS6pj?= =?us-ascii?Q?oZd+UKQJUAUcgoVYMHnssckeMgoe2t5GNqxyQdfiucFj9xz1zqqviaLYDSTb?= =?us-ascii?Q?djQwhG2CF0hiDprzPheQ15K0trbteDeZ7JXuVJiRty7BWAMx7gT7RtzvoePN?= =?us-ascii?Q?tQCV5mzU0lrdJJHc3odO50dk7zjtmoUJqCF+J8gocasR6fOeWhDGcTTx1Zmi?= =?us-ascii?Q?QuYESt/FhXNGA6bJC4wpVLz58u3nBrwRheLsbXbWqchKTDNRBQpWnt20wIeh?= =?us-ascii?Q?Ty7jYJPRyGrx0O4evF4AI0YjKA3Kqt7LM86mZBeX3nVRA/tFrFucWf8mRNAA?= =?us-ascii?Q?0o0PO+fKqUP6K8PEdXCJMb3FhgeKtv+0FVEOR/X/aid79OzTsUThsYOjFrJs?= =?us-ascii?Q?8AFtgs5fGpxbwZoTH7d4ZzcjK5nsQ/8yaZplXHzxMt9r22mVD0+V/S3nMwOp?= =?us-ascii?Q?eUNurXgpUzKYk8jz2eW7uBGacsb/thTlxCLpTonudepDW0hVvL9AnFbXopIJ?= =?us-ascii?Q?PZNxwhEfqTcV6sdU3Sgxci/i0uukDdTxSvX9ADlaDjpwOUNGxonW1ZBPFcrV?= =?us-ascii?Q?XKe7EChhr8Na1bWCMQc8+sKgE2uS/upjXq4Z5vok03f76Y3AtEXiMBJF26BO?= =?us-ascii?Q?80dAaz87shuyYidHAco8YWB8l38Oueir/y/WnoR1WSCwU3PdqaeuqCh4ak/P?= =?us-ascii?Q?z1T5vn39VXAhc1cucnbzfxs+q6Kujp1QmP7Cwzd+NwqDaO5I0iNFfg2lJ1em?= =?us-ascii?Q?oznLdSMhC9f2kOsVAK2fv50zJCxNxMeCIQCvcnZJ17iJgG39wFkmayzJYDc+?= =?us-ascii?Q?1kw5/4ewnncSBUxTKfyv4YXV9YOgsjsiJZ8WRkpZkhCgTRgNM+sWEF4lYUpN?= =?us-ascii?Q?ZiQSyYqk2VR85hW8Ha++I3QITN7qAvGZ1heKhLl88Ru9Yhf/uae1Hw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB6761.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tUbwrjO4cHc3rU1wy3Zi5S9Pc2lvWPJTFM/+oVln/qPPOxy6NFNJcc1/qWBt?= =?us-ascii?Q?vdw7hdrlo2Jnk6pKSrCfgc28ERFG9bKzGfDc1WoS2P6NJkL/YDIuPN8LCDVA?= =?us-ascii?Q?0X/qpcJAqm956dWiZ1Nbtpl2Xd3Wxdp0Ezm+VtSW4j9N1pV/t22/56htfS6q?= =?us-ascii?Q?/GeIgKy80tl4+5GsarguKnGG1xQ1US6eUwETX/9ME/9qkuZZx0gj7EVSjrjR?= =?us-ascii?Q?nal54ZEnxgOieCcBPN5cuudtn4DBW4z1AM7PDGN+sP+SQxSn1fC9TX4eSqZB?= =?us-ascii?Q?h8+O7BOiXEctILpCSo0cb3S24LhuEtp+VyfP+gKOnxs2WoPLyn15Ea/c+gop?= =?us-ascii?Q?0dYYxwb5B/dqgKpML6fdRk3Qt3XI7vwHnDL0TQEImOrvoDCKORXYZu/WzmyM?= =?us-ascii?Q?br0rj7dHgTYFODCBsszGRGhGYY62CEVIJ30DJcm65E6dDG7D9XUPZeNL1Zp/?= =?us-ascii?Q?uTFsB0ibldxSN/RT8QlH14pob6VyPVVS4t5eH0VGiasf57yx6E9qE0NZmeYc?= =?us-ascii?Q?0neYmPN6y+J4CuSnNDnBf8BHYE0KOFj10k1kZM+lxtIHbm6s04lveQbNJ+VF?= =?us-ascii?Q?f5ViE2wlW0wkKfDxsDkyY46xYMSNggQPiD8R645lPGJTVhT8O7xnhTZ4kc/x?= =?us-ascii?Q?n+MjnMuAmbNSFiJ3OKQOp4PKSnmrBWh329e7oZqcU4D9e5eBKqTdCpfLiAyS?= =?us-ascii?Q?0f0LJJZIWsBEqSDas1xul2nwb4ZRvMDBRAOfrDtiNMD52pAnkkr6Rv1kGq+H?= =?us-ascii?Q?Q9x6ACMTJCWn3G+LABZedLi8pdQ2apqS6b12xZFRRoupGuiOl6bog5GYR7sp?= =?us-ascii?Q?fh6xuPZn6GsPg+ns4E2fbyPb3WsgphwHEF56ikVNV5x7H6eM2BdMQTQJWe3x?= =?us-ascii?Q?nwSA2yTRFVN1KrMcZmyFEyoWpH3QG7/rT/nlvnyP8v8ZKYirFgDySg3rn2Ru?= =?us-ascii?Q?cMkgOKr5IA/23qOfmUwyi6mMfXbNECjV8bEe2V2MoGElZ2DHAZer+Hz4YOLu?= =?us-ascii?Q?+Oh9CGqHNAdrkgtMjMJrauKpZUB/Vo78Pb6+rScI/z+2uMiD7uhUTtx7bXP4?= =?us-ascii?Q?D9agcWhH3QqsN9jSdmjjuSxRtOmJevfxyH9EDuJvQ+MZ0sS5eudJx2jk5RNi?= =?us-ascii?Q?v1Q/gHb1EhHL8p5xTx7y3XZ7S0CmmbT/gsbreZx+Ice2szdT3VreMOMhl/OJ?= =?us-ascii?Q?m9uX3zKhzOqLzwhG98lGxxc0CvsUIYisjTwJt0mfmyKed+PAbxCHkLrqz4A0?= =?us-ascii?Q?Az+4bpwxYZWjivy9hlO/E+pWhmdjeSjPbcTDy2BmpYIe0l3p7ufen5OLd/h7?= =?us-ascii?Q?UQnGNV7e3rACxIlXkY5p9KzAC/3t3FF2ugkqzon8EjBAfSIx9nthBpqCOyj4?= =?us-ascii?Q?dpQFtx5FpLq3x1Igl3TIwdiMTocCS6F4tk/wEfqsF+V9sZQRUofNdp65QEfl?= =?us-ascii?Q?CzvbBLOGzDZtXDVlQbo9ou1DQTMJtfUsQIU/oPmpDMySTaZh8IG0Gw/d87If?= =?us-ascii?Q?loUiSCJej1BfMF9eKPk7r1UIz17tCQyatL22PJ8gmhwzu0T16Q+YkjZzZJ48?= =?us-ascii?Q?NXcGULrp100Y0VwLL9iCHIjUJaWwhFHQaEnpItE8Z3oIxKOJjk4fUQGu9O8v?= =?us-ascii?Q?4A08n8Fe/xBjArgZcJv2HHM=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: ab7e70d5-b690-4dac-f1bd-08ddc4fa34a9 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB6761.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2025 06:21:46.4305 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZllvBofa2miOs+KXx2Af5snJEVitY5Z1+VSNOzS5gnj+mCTrTklbzPqpj10BmGuLBuL3qfDz3nhb5ObH9yPAttOrdSCBWH5CzlNgCcq3RnPHXGSmHXraea+glV29G8Y0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR01MB7287 Content-Type: text/plain; charset="utf-8" A task may not use all the CPUs in a schedule group due to CPU affinity. If group weight includes CPUs not allowed to run, group classification may be incorrect. Signed-off-by: Adam Li --- kernel/sched/fair.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 78a3d9b78e07..452e2df961b9 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10722,7 +10722,9 @@ static inline void update_sg_wakeup_stats(struct sc= hed_domain *sd, =20 sgs->group_capacity =3D group->sgc->capacity; =20 - sgs->group_weight =3D group->group_weight; + /* Only count group_weight if p can run on these cpus */ + sgs->group_weight =3D cpumask_weight_and(sched_group_span(group), + p->cpus_ptr); =20 sgs->group_type =3D group_classify(sd->imbalance_pct, group, sgs); =20 --=20 2.34.1 From nobody Mon Oct 6 20:59:30 2025 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2118.outbound.protection.outlook.com [40.107.244.118]) (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 D35A421507F for ; Thu, 17 Jul 2025 06:22:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.118 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733325; cv=fail; b=KQiWiYoX+ELtjJQZe1/2NrTCIPWkmO8dJEWl7t5re9kdoKOEz6SXyZjNlTwtf8p76GNdtD226nK+yGmZ/qNEC+xrKtDUInZj7f9gM+qWdrzNUxaP8p14XBmTfDLLMINRn4owKD2V2RMbihW6N/ml/d6Hy32QgmnYC7XPttYrgwo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733325; c=relaxed/simple; bh=nyepzh4yxo/21jDVL+Ub73ZWLc+Qxyo8E9TxTVu/ws8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=jXi8WKwJG2lznkFiDLtyW2iNfjQxwLxfUOh7N50AzseoLve8pCZAc66Dn6aeAq3Avf32h85vWWzYQSDeeDIng7wHsvULVCt0Au9zrZCCMZP3pcZNSIpDBQO+TsValzsZKPa+/mUrzsfLKEkQDKTPX1m1YQ5uHrMHUNEeRR7ZVcw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=tHIeouCv; arc=fail smtp.client-ip=40.107.244.118 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="tHIeouCv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cXiQFS+MVMiegUna/KSppzC7LTk3C+EY+yMwlo/bGiytbb0Zh4LwzolaSUUccfzovdbKbanJH4jHQ8OqeNZ1nIy7TNW3sMgPY2vi17V81R+BAsUSnnAt9yuuK1SzOx1ovjMcy2XwB7UU61s0vGKRSE2lgRzaYesDxRygX7L7pGajSn7wOMsQ7MhU+0EYScNsWjniQwRWOcaa3q6yVGrgpcO2ntNQLp12c8c3fF9tCMbHjnsMTqR6+UxWkMB533rAHaOW9WtBCcDqyu6Yl4Ejy0IpeQo1bbE/EbHl7fBz2oeeLyyvHeGjxuAF3y1SEaGRqoympZe9ILrIjIWTpKgz/g== 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=Yx5J3kY5wdlF2swVLKrIu/oidcFcb6sWkPuog/U4SM8=; b=uxAysKjHpSY3Ig9MhYvI4AMmq2iP6WL4MXJWltTV671qgpMd1OG1tvjEufoesOBRl0y88SO4Fdk6WYxYL/xf6/LPDV+7Ws/XrGAn1vSfv+gKb7OhPlC9X/xiHI1x4rf/SQxsbfM1uF8onLNBBphI4c3nQkXKFNaCxM1dZBDyCiYL/64E6d247vP1DN2lWZfOHBp4UmBlbAVrqalvV/gYn5tzaToH4GtZ6e7CeZeDf8PSXMKNBQauGE1fBoYQWM85gdteBOGfLVNjAM0cyFkHcCR7wVipj5+4JddLtszyD3hjqlVLiRIhg97ycCMF697pWh4jDnpcnT+kiTwRETS8eA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Yx5J3kY5wdlF2swVLKrIu/oidcFcb6sWkPuog/U4SM8=; b=tHIeouCvIA0vEXDPmw7a1a4MC/PaYgyu7byLSHpylpJ1SX3nh7WvzRFYMf0PBR7KWpaJYurdDPhLpxkmKBwdIu5ZNCPxiBn3lXTzYZkUtF4mb/H+cH404+k3UJXNGQNzcWUkMVRoMaXrWgkSvrul+GIOFiFNgf0lP/T1ghYQwso= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) by PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.39; Thu, 17 Jul 2025 06:22:01 +0000 Received: from PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2]) by PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2%7]) with mapi id 15.20.8922.035; Thu, 17 Jul 2025 06:22:01 +0000 From: Adam Li To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org Cc: dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com, cl@linux.com, linux-kernel@vger.kernel.org, patches@amperecomputing.com, shkaushik@amperecomputing.com, Adam Li Subject: [PATCH v2 3/6] sched/fair: Only count group weight for CPUs doing load balance when looking for src group Date: Thu, 17 Jul 2025 06:20:33 +0000 Message-Id: <20250717062036.432243-4-adamli@os.amperecomputing.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250717062036.432243-1-adamli@os.amperecomputing.com> References: <20250717062036.432243-1-adamli@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: JH0PR01CA0166.apcprd01.prod.exchangelabs.com (2603:1096:990:75::26) To PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) 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: PH0PR01MB6761:EE_|PH0PR01MB7287:EE_ X-MS-Office365-Filtering-Correlation-Id: cf710adc-e410-43da-fa3a-08ddc4fa3da0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?UMLL04HOtQxSD5K+wVLTRUJu3cLexynRnHd+4XYJ6fapS3dnt/u15TOlwOfd?= =?us-ascii?Q?59SGLptLpFcIiFzUuwZEFoSNE5d0hjhSEvb8lIx1PwjAiGStXUznABEaqZd5?= =?us-ascii?Q?M/lO2Yga4oVu+sJDixrypQ+0Ytn6oCYqYjiR7Nnhy0VElVfGuaKbvMc++r+E?= =?us-ascii?Q?0GSC/oBshmJhU7Czbky/JWt+D9ebOGSTeTflN6w0s72QHkocNxQSk6SJspi0?= =?us-ascii?Q?voMhkcRIrpL1U7R1SUk+o3RySm6eeY+hdCmbC4/NJH6j0d3C0F21c1svZUvz?= =?us-ascii?Q?YJF+pBAMIw9kfHnuGK+81+kXLG7WSzU9sK9pq25xWEP1GXTN7ABzMkAafeL+?= =?us-ascii?Q?JufJ8hoNLvMW62w/mYaTh+1zTbgdD84yq7P6RWg3ZScbumTNwnfthYPZzmJL?= =?us-ascii?Q?WJoMzRnh4EI4mkuJDQD2oNn4kKSedEvK9by2mYrofKJuVt7fum94kaLvmK+0?= =?us-ascii?Q?piu7KIEIJTfcfcuVIVSkn9EvIg6a1BRZ71boG0l4fYCRcANAAEfDRZl0RgJE?= =?us-ascii?Q?nJrb3s6byX8JVnXOr1d5EKVp6YbsxFQoq1e8PoznHmRxiSMOf+N6HqjaGcgH?= =?us-ascii?Q?Vc92IjkYPv9uYd0dVwB2ZDggu02SlyQKHcx+nd7tCfFVKK/2Z+o1AMBVC0Gn?= =?us-ascii?Q?c3uWVu5oQjIFCkIsYyHz5eyJKi6b5zHCOwA74YFQVwSO4Mo657bYljp4FuC7?= =?us-ascii?Q?lFtBToq1ZU+lFKH/1yZuk3IyOSABQmnVGP3ZDy+becOg+mOhQU3JQZ33MrxD?= =?us-ascii?Q?3g2kt66oktVauyYVe1UzGWUPkdmlUrU1kmqdEhoulKKctxs1iFMVZ4Fzw90j?= =?us-ascii?Q?mFm/Hs8BS9+YYBmDLbkzv6zeXxTlzUvSz/i30zj12sy6aogofaN/Zd52pIPl?= =?us-ascii?Q?0/vlDqq2PFw4okPXsWdCdCcCJOO2oUoblW7dtmoSHDoXzR4m/F3raZsh/y3S?= =?us-ascii?Q?+fu9mqskY8c3dGDWVzffnZFSIGR+KqrIVpVght/4ZBrDcgrSUpAZJOrN47Jw?= =?us-ascii?Q?lyZnKKCLX75yDJ/f/yyFTXsPWyKdf5h76swLikbxkXgrsNAaaM00mAyzKi1D?= =?us-ascii?Q?eULvNazMHC1jWn3J9picrXNA05euXJwrMQZVFHDidhSnwn9gbZAHXj8oo9Tu?= =?us-ascii?Q?JeqM92yxG7BwLWQADTD6vwmOU+gEbbXA4zWupp078nrjKPwVZa3k0m2t3gI/?= =?us-ascii?Q?DwZf1rmHC4DTMy4dlrhORU0UTmgfhoUNIYDatyd4gNivlU+QYGLIfJ4XKcLA?= =?us-ascii?Q?nSw6Ctyi27q44nAu6CS7i9mRsWDZbuOia3rqgFj+H17oqNCF9iDBXKYPnkqL?= =?us-ascii?Q?eRwlrFL768xeVPMCQeL9CAdSJEOMCERho4LAY1Il0d1X3m6+S9JDY/ahG8Gr?= =?us-ascii?Q?DoooKDCvlv5vuTsyJDNCvyY1ud/AnRfn+EhXjVtacZwDk37Bvp9HqYMQg5N/?= =?us-ascii?Q?hjiUUj4KJPEr0pCEv/N6wDIdX/TZ4hEwUZ5ivekNAId8duT+5Yt6Gg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB6761.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2yGG9j70PrLDq8Qvd33Z2bmc3wUvekY++pP0hK4wbhPEm3ZX0K5DIN6FhKhO?= =?us-ascii?Q?WYoxzVgB5+i7gGbfEJShJksqS+msTL9Kd7EUT1eQRynz9erEtzIWxSuywAdq?= =?us-ascii?Q?41z9B9ts8kR+kFAEfW/kaafeGEeuV2oOxNEUyQftB999TxR6i8DU8t+zXnl6?= =?us-ascii?Q?Iod0IhNzWXPKvzVX6/Z6R+hYrMN6rB9bKr/sNZDaccBKyz3dnZ5XoTtUd6Qv?= =?us-ascii?Q?3guM8uznciYl4s8KZl7aZGhVEov33JXGjoNFffUrWzIqjvrv03ERLqCv+L3i?= =?us-ascii?Q?OiMp384pXJdKeRPoPm1GwMqVfy5CC8Awa0v8Mo4Z6wAxbeQNXgKTtuVZFgaX?= =?us-ascii?Q?LvIwS9k5pibzzEJouW0b9nBokh6tacJLGh25/Mhy9xsCnLCVE73gfuMS5bPx?= =?us-ascii?Q?J+j1CEOawPidQV76vtyituMK4DbD8VQMRvgc6/WeHuf16tRfFfNN4PWNjPiq?= =?us-ascii?Q?xw3PdPjqLR8VsOQ2GShGi5arsbD515gj3Ndk4Ilr4Jn8oDk05BRlmnASf+nJ?= =?us-ascii?Q?vRlryObLzF9BvnchjbID8r2H2umATv8NULXnRH+POVGrlNX5PZLENDMN7z1j?= =?us-ascii?Q?gIp8l48VY5P7aQOGUSHPunXtUQg3ahB5EAvKrehn/N6jK/do8hGCZoDcoWOm?= =?us-ascii?Q?hF+1+9auVI68pbCCWuWx9qnfcQ7qxB+aFLRiYyqXvgTZwpg3S/oL4ytU6C3j?= =?us-ascii?Q?xB9+1W2yYim4Zucs9iAKLH46uAATZ0NWOVbeI6cqMIVtjyOXQj+s+cHA6OJD?= =?us-ascii?Q?4ILaOR6SvwkTgnNweYEM0byEU1HZTDLlyaMD7rEARSf/olblk/mCHgTJoItI?= =?us-ascii?Q?HdVMC+hlWG8zaPKgNO/WSG0LgNHn8mHikuaeum+SIUQehKDnKVnM0j1moIlg?= =?us-ascii?Q?m7j4M6tR6KP4Lw9PQ/sLXjQFSJVuMqhFT54gMODpqHRS8Gvhkk6ZAk4j2PKn?= =?us-ascii?Q?pxYND4Ygrht57BuMT23zo5uh/jDEEFzvCp8rqSdjAfD0TLoFKx41ZQ9W5S6c?= =?us-ascii?Q?hm47fMLBxQY0fwPSjntt9yeeZHRCi/zDSb95coTowrd6ttN8/vS8pkghXvl3?= =?us-ascii?Q?eS6gGRmYnnCYGCWLXQCQX78SpXvgxJmiTzHSQ0jkAMThXORH4+2+Xy2TOLq1?= =?us-ascii?Q?kLAgNSOLKWoVKvX15GzG+jBjRrbw9C18YefgdUJiT6B+vFErx80SKyRg+P2u?= =?us-ascii?Q?bT7e0Lnp0cEcIzBKKn/ZORg/otJqeorHKq9PgRW9tpvYaIi24juAJMUfOS81?= =?us-ascii?Q?raJrDAdM5D/FEwdlIhKw9xBZaCpYaJZz7pabXBxoi/uaOzUiDrEfDlZzVI3Z?= =?us-ascii?Q?t21zY8DyAGmFolvkwm0xbcKbTGrgb70CeXXmL/NwNGramIL7kXaUDXGaS7/5?= =?us-ascii?Q?BsO8v93GapE6yPDWoh27WZ1LGxKf5wRG9/DjyGI1gebLs5SBXdY+gi9YkTSm?= =?us-ascii?Q?veRVcAJKQ1uF++QIPW8shThwFe6CGCa88Zn2rfsTs9UJChbh8NIDTmVAN+PB?= =?us-ascii?Q?GNbKcdCgKlmwWZrKivJLDeoCCRzdU/4TL0S3vhywxQUHe51GLXSXgq8IBIAP?= =?us-ascii?Q?n7YLjkd4oSq1fu5qwho9Ik+pvHmPzoOBZR71uQ2qxh4gGbvpWHX/UvWPmC41?= =?us-ascii?Q?8A8ObglLesnjl7Qog0Ud698=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf710adc-e410-43da-fa3a-08ddc4fa3da0 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB6761.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2025 06:22:01.4965 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kLTpIG8Ydp6k7TONz8q5CaaBdUnHv35ZKLz0K7Rd7A8nG8otvMHYOjHhU0iAnZds4GvsSNUz0N9QVxjFORwQg1POvUDjSq8RuZc+brqywZKnBR7Vk5WBhFeYbEYG9FPN X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR01MB7287 Content-Type: text/plain; charset="utf-8" Load balancing is limitted to a set of CPUs, such as active CPUs. Group classification may be incorrect if group weight counts inactive CPUs. Signed-off-by: Adam Li --- kernel/sched/fair.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 452e2df961b9..db9ec6a6acdf 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10427,7 +10427,7 @@ static inline void update_sg_lb_stats(struct lb_env= *env, =20 sgs->group_capacity =3D group->sgc->capacity; =20 - sgs->group_weight =3D group->group_weight; + sgs->group_weight =3D cpumask_weight_and(sched_group_span(group), env->cp= us); =20 /* Check if dst CPU is idle and preferred to this group */ if (!local_group && env->idle && sgs->sum_h_nr_running && --=20 2.34.1 From nobody Mon Oct 6 20:59:30 2025 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2131.outbound.protection.outlook.com [40.107.244.131]) (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 D8E0E2147E6 for ; Thu, 17 Jul 2025 06:22:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.244.131 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733339; cv=fail; b=huZtveFBrp8iHC9Rum/iMrzWezkc9KHWQSkD21ZpfMzZfH/q2Zho6bncKXIuX6PTDHtnaoWGLb7xKoKBHtoJs/dtDBkMjUFNrGqKkxd4dRMvOTGM5IzGMm/K5I5lrpxk2ZOxFc994zJ1KzBEkqGlT1e7wKW/2WuP2hz/AADKU5M= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733339; c=relaxed/simple; bh=Igmprgi40j/ac6TxQQ11+hvEQBOwv7K6+DWP1o71TzU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=UVLt1GJPiSgSDFZwQtXUWS0LZygB3nihqR6V0MfsQOJ+WYAW/R+aR90Pd4Jpue1mFRjtg4VqUkM7BAwxBYeqoBwuGnMdDq31vkZ4C7Z4fDXNi+XjTg4WjotmZOFyp1zFVrwSd55QgFoNhwjTfnv7ZBCksPKFUhwV7cScLBT9K+E= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=lRqFC9gz; arc=fail smtp.client-ip=40.107.244.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="lRqFC9gz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yt6qJmcw9fy79xtn86iXixfElYNKifcA5nmWyS0mYKFMtov8y+j20Qt+ad4AspswRCvQ9AqUvpXCe/wj2C6RIsfP2356vwp+2wkdaU1gZdzW4WFvzudLqZ/isx+iD3gx0Li/Y/OoK4veh4lNN+0THVCyp5eicRWljjm7qSKuTlmEEdMJwnqMyngowVVthGHynb5LBRJ9yCkWwa4cvG1uufB1BcKGQU+gSnDlfpHu5A/vFEz+f1j+V7xPsjhsIJvRbA7waWPA5RocMCZlsQpTZSam4Y0zxDsJ9j8ZxYZJJm211tRe1EFE/ED3C4Ej7UTW32gKafopELgN15A+Jj84rQ== 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=Q6iSvUyFEpW9gKmODm4qeOMDD1w5EESSbQCc5Yx6gcg=; b=KwIHjxxmd6CvynVlGV6sJ/5XbwYfdGivNudZIITt/lYN7fq2nNcemXUUIIkGYfA38xlOZHtU+NxGY1oEHay/W16d0PAxs8hbOXoyGyi/+hzo/3Q5ncvswf4mpjUaBGHH0Sfasne96rdlrwm1lEAgi4mOQWGSBMYU7RUG5wOa1t35p8G+bUOeMUJWK72gsfJXJaHYnpV4My+bRGOwcjOAHU+FQr13LtNbvvDhudzgfpHo6WRyTwVGaRYkq+HzH4ZIIQFcQf/SshOIl//Ic/ytl/5Nnyi9KDxOvdcqLiePxWiI0JR4YrkI9WNVBIYLTceKnRoapIgMDLS56J3Vy4WeWQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q6iSvUyFEpW9gKmODm4qeOMDD1w5EESSbQCc5Yx6gcg=; b=lRqFC9gzPRPXaqZ5pi8jR4cW0q2E0y5NAahUlt2QQEknViNG6Y26R/X2lAkLZmpx8ACFBHQKKLF1K32FWJ+bples+V+lnx6zv5F7VdfhtgWPMufS7JhpdBQTNK345TR77ehDzxXBCHdSyFP87VddknCrvc7XyfiSZ9vnbvDFGxA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) by PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.39; Thu, 17 Jul 2025 06:22:14 +0000 Received: from PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2]) by PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2%7]) with mapi id 15.20.8922.035; Thu, 17 Jul 2025 06:22:13 +0000 From: Adam Li To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org Cc: dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com, cl@linux.com, linux-kernel@vger.kernel.org, patches@amperecomputing.com, shkaushik@amperecomputing.com, Adam Li Subject: [RFC PATCH v2 4/6] sched/fair: Make update_sg_wakeup_stats() helper functions handle NULL pointers Date: Thu, 17 Jul 2025 06:20:34 +0000 Message-Id: <20250717062036.432243-5-adamli@os.amperecomputing.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250717062036.432243-1-adamli@os.amperecomputing.com> References: <20250717062036.432243-1-adamli@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI2PR02CA0052.apcprd02.prod.outlook.com (2603:1096:4:196::18) To PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) 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: PH0PR01MB6761:EE_|PH0PR01MB7287:EE_ X-MS-Office365-Filtering-Correlation-Id: 830fa674-0e0f-456b-e989-08ddc4fa4519 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?eU0nzCVUeF58prkEkjnU81LlWxErthtnjUOxTcFCEWa3qB82rt6jnJyOVuFl?= =?us-ascii?Q?P/7FitX+bi448hamAY1SWY/iaB7UMmRrOKcOXVLXp74Jkm09h4QRo6g7ozdg?= =?us-ascii?Q?45UuR6WettGrLVjcly5U7w98/+/LhjEN7IsseqvhX51WO+75uWboRDABAgwz?= =?us-ascii?Q?hFWL6ayxW0kp/QE93r/A8yb3iv/KGVewN6gK8TWY8lWXFUszVuHMXR3j1UlF?= =?us-ascii?Q?75ffz/JA18+TgCNWDtEFXGA/IAgSaJcYRCLmNcdQlFrKMkEhGZbPVatlCx85?= =?us-ascii?Q?IVOp/q27uasqfumaQiSzWa/vx5H4HwIyYTuZNeFWlQyiPGCtTUenM+LW+KwT?= =?us-ascii?Q?w2Md9ZngCbFxlDoL8K8UZAUq2pboqmxLdhBBdVOqu+7+1WazGybluiYVR16p?= =?us-ascii?Q?8LSk+EutbU9HLgysYmezR200UY8HCQjA7HeTCvmcyPZSIywUeWI8r58feeER?= =?us-ascii?Q?iTn10iCuZXjcQD+sVRt0V0iC8hOpc3U2vjhis5GxVqSJ93nHZG+wBWftxDz1?= =?us-ascii?Q?z5D5S0mLJ9lq/1Q2wG23/uW+v2HGXL7GRdSoS6H4yXEWe+dxziGfe2z8N6gg?= =?us-ascii?Q?YD9dvXR4ylH0WK/YHhe7zkeP8ajSBvY1hOum/KNcvt65GFN1OHonadgoqEpH?= =?us-ascii?Q?Zj7g3ksAKkvXeGFzc8DbWzKy9QgMBfZh+J+eSu5TwWWO1R5tAmkNTVMTg241?= =?us-ascii?Q?YV0xCIP1LxofsaNTJORaFzb6W16RYJC0JGXW5x96uKa3F3j7ES/tyItOqV+w?= =?us-ascii?Q?jTXTlU30pusznLB4J9zzfBBfHU+oJE6lcTc4j4YNVw0rRZQDHhCIVkUvbfNb?= =?us-ascii?Q?mkOvLsQDdi2QYDmUR0mLbh+pT+3jIU1BhnPLzDfVjqVtHP4J1coF1hGXaGkv?= =?us-ascii?Q?W2rXN+R5BgiwlqX1241qjD/B5muO7gdwZYY0TqPbs7SuQGJFJKgo6tQnNj2Q?= =?us-ascii?Q?PjWWCcxWrf7bkrcbO02EpWSnP4NXk6mDf+4vbCmiyfkqR6fgfu6ahuC6RZnp?= =?us-ascii?Q?XmNoz4yuyik3YXlZ5tjFNcDuqQQOS1HcMobuolFwANzUgPlbsgZ9eYXaZ9H6?= =?us-ascii?Q?J8WB6e6cZYe615SzU+5fIXDjUcFuQa+coBtjRlPt2kKmTAwXe4NB3ikp0B48?= =?us-ascii?Q?Mhmyauv8pA1VMzm+aZ98MNDZZjLBQEfFmrsBiMNVOX/Ocxd73sqsDkxTn8uO?= =?us-ascii?Q?jmvHSHeJsXe4hlqZypmGZB5WpykWeb9kbwpyLhtRrf4FRFt8aGZFo9CG8HvH?= =?us-ascii?Q?iuI86xjAfrDXMnhaY+TjQMXeuSLQAODil89z7rajXhc8uwMTOmTMWlbPiIj7?= =?us-ascii?Q?0XTlwL/Qv5RmYTdlBsVl0y4j71g7fn3PLgHmRjOkvQ/hI40YqMqyzDn/VT6L?= =?us-ascii?Q?foDnd7tRWQ8vVNaerOLrN5h8LOZ88mYipn6hWFN/OF/pX1Rnhe554XklE8Zj?= =?us-ascii?Q?6Mfb+DMsLgJyC/jj5b6jP/GVSv3FcYyYFpuVrDtpo+2gF6P3zWDWKg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB6761.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qeIhzGU3PLpuURS/nKNx71nswF2Wv1M+dLtKnefMRLu5a8Vej6nWovhZDnBd?= =?us-ascii?Q?5c8+J4hZNiVcx3RHCyI7maajN1m/ueMsaSHFapFrMT0jZ/qYg34omUwewPUE?= =?us-ascii?Q?vSJ4d92pDRlVlgu0jn0E9ajrxeIiP1Hn8ZXn9usuz4b46FGEj1djLpIK9fBp?= =?us-ascii?Q?4oiLQtJNlR74YsHnvxe8C1/mfY+kQoxOyEoVM9MoI/1DdEmTUnNTswnhdfxx?= =?us-ascii?Q?+R6uCA6ufx7SrJ4d+dmfn1KU4hk4Jx/Z81GWzgZNRNI3MqtXbzxiWlaZtQwp?= =?us-ascii?Q?Ahz0M0Rj+PXTb7p1vThsd9QPnmlCCS0MU3eJ6Iy6Gdw1m+NUddsg8II7QS7+?= =?us-ascii?Q?mrRAXSfHivYsAVtEsnDNlag/FFPtMuKJ9iLocFnu5OruRQueamVsUzWEZJv3?= =?us-ascii?Q?okMxea8Zd9qdyu+8fL48+AtQQ0AdbcmhHbe/+sQsCDbb8up/ceVAs+gSTgPJ?= =?us-ascii?Q?dyi5RGPzB8VfEBdp3He8u2LywVQfTG8R2fcXqs1WJIzhySX5UyT+cROWqeoJ?= =?us-ascii?Q?BTAebK7TebDhPhbWe6T3hQf2BAbKZjepEw8FmFCubu4NrsZLflQn1jdgr88d?= =?us-ascii?Q?9jKf+E3k6lxf0KkV7k/8kXheBWhL7nqxiVNfPFxj26pdKc5IVGILNGC+6oDT?= =?us-ascii?Q?A3qLoqrpZpgQHHGwu5JSEpRMudOcZsO/JJ6PHdlaWP1vMVIANMXUIWjnL1W0?= =?us-ascii?Q?fyVhnblazV+M3npxSWuYqLnaws93vF9kGqIuwweoJYcHRu1OTUDubuXr+wgJ?= =?us-ascii?Q?P12H8pUqvUxkatBITRP9nOKqmMi4KFz2N9MBGfr+NC+0+iq21255/EfQaL5K?= =?us-ascii?Q?+59A57FE+lccxNTWqf0vsH1y2jW3HAKbighmbP8GQfmKmKApJgrR036kSv7N?= =?us-ascii?Q?h8g8PCTbud1yN9PbBjX/OHtJ/SjOzqcfo80dcxPWTJEvcNJ/ljhDyXQA3ZRK?= =?us-ascii?Q?XzGi4w9IQCs2xkhmkflTpsk2yabl3C0/IgRxxzHzEnufh61dHTWH7Fiq2Dxd?= =?us-ascii?Q?TJ8JKZxoQcUBHa1c31BCtDdRApEBkbUSS/tBo0leon5ArP4uT+/3j6Il1WxC?= =?us-ascii?Q?5/lOqpaH7kXs8sMBw1rSXkzzFcMwYVlkmomD4yzUZt7Sa6jGXoCMheyUQvKP?= =?us-ascii?Q?G6LpXuUc7zbzmFEQhNx3Sai5ZijT1KTcHmKMLxP4H6YUeSyWmZugJ6ETpRYx?= =?us-ascii?Q?ps+UfVle7sLy+0q0jiN1V5QP7uhefnQadXESRlS8vcCzdupj6l4+Yb7o1B9L?= =?us-ascii?Q?DjiyQx3TuGXQVsbDm1GMZNuQZKboQcbk0AsCau9AkszavSAm0jEi3vCEK4EE?= =?us-ascii?Q?y8z0I4m8M8azut7WagDd7h4kgtCbKU9tEn4CspgT6o8JDGe7Do3trcmeGkvf?= =?us-ascii?Q?+gInCUunxbPps6DWuWKqIKhZyOS52W3xiyKBJQn4EHBvo4xoC70tE/ujszmD?= =?us-ascii?Q?4fV9MdAjKtUlqpVwNPzoq82JhpVlH6EWchhEg7o7SjDHbN9ALfE3TY3t+1Ey?= =?us-ascii?Q?0NMtSHjHJMbzgWU6r4+KeFF9GaPi596a8KY0uquqSSz8P2G37CgBbCn4SWTp?= =?us-ascii?Q?wp8/ywppVn3MH3WN8m+FdeEi3Xz0V772Iq4pJDfCIbQxPk+lSvKxNv8vCLZP?= =?us-ascii?Q?uj+oIKcx/jZb/1w83v0iuhs=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 830fa674-0e0f-456b-e989-08ddc4fa4519 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB6761.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2025 06:22:13.8640 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Xfp+q9Y3N3+Ihtv5sWQb0q4LSRNExWqKmNud8qejEICyLbXvB+lsLn9BujqU6jeEezUHV2htscrqr0mEk8CLteuOhzd/yS7az4df8rMwg/0Y3ta4cJemIa6JEqfnGdrI X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR01MB7287 Content-Type: text/plain; charset="utf-8" update_sg_wakeup_stats() uses a set of helper functions: cpu_load_without(struct task_struct *p), cpu_runnable_without(struct task_struct *p), cpu_util_without(struct task_struct *p), task_running_on_cpu(struct task_struct *p), idle_cpu_without(struct task_struct *p). update_sg_lb_stats() uses similar helper functions, without the 'p' argument: cpu_load(), cpu_runnable(), cpu_util_cfs(), idle_cpu(). Make update_sg_wakeup_stats() helper functions handle the case when 'p=3D=3DNULL'. So update_sg_lb_stats() can use the same helper functions. This is the first step to unify update_sg_wakeup_stats() and update_sg_lb_stats(). Signed-off-by: Adam Li --- kernel/sched/fair.c | 95 ++++++++++++++++++++++++--------------------- 1 file changed, 50 insertions(+), 45 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index db9ec6a6acdf..69dac5b337d8 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -7250,7 +7250,8 @@ static unsigned long cpu_load_without(struct rq *rq, = struct task_struct *p) unsigned int load; =20 /* Task has no contribution or is new */ - if (cpu_of(rq) !=3D task_cpu(p) || !READ_ONCE(p->se.avg.last_update_time)) + if (!p || cpu_of(rq) !=3D task_cpu(p) || + !READ_ONCE(p->se.avg.last_update_time)) return cpu_load(rq); =20 cfs_rq =3D &rq->cfs; @@ -7273,7 +7274,8 @@ static unsigned long cpu_runnable_without(struct rq *= rq, struct task_struct *p) unsigned int runnable; =20 /* Task has no contribution or is new */ - if (cpu_of(rq) !=3D task_cpu(p) || !READ_ONCE(p->se.avg.last_update_time)) + if (!p || cpu_of(rq) !=3D task_cpu(p) || + !READ_ONCE(p->se.avg.last_update_time)) return cpu_runnable(rq); =20 cfs_rq =3D &rq->cfs; @@ -7285,6 +7287,51 @@ static unsigned long cpu_runnable_without(struct rq = *rq, struct task_struct *p) return runnable; } =20 +/* + * task_running_on_cpu - return 1 if @p is running on @cpu. + */ + +static unsigned int task_running_on_cpu(int cpu, struct task_struct *p) +{ + /* Task has no contribution or is new */ + if (!p || cpu !=3D task_cpu(p) || !READ_ONCE(p->se.avg.last_update_time)) + return 0; + + if (task_on_rq_queued(p)) + return 1; + + return 0; +} + +/** + * idle_cpu_without - would a given CPU be idle without p ? + * @cpu: the processor on which idleness is tested. + * @p: task which should be ignored. + * + * Return: 1 if the CPU would be idle. 0 otherwise. + */ +static int idle_cpu_without(int cpu, struct task_struct *p) +{ + struct rq *rq =3D cpu_rq(cpu); + + if (!p) + return idle_cpu(cpu); + + if (rq->curr !=3D rq->idle && rq->curr !=3D p) + return 0; + + /* + * rq->nr_running can't be used but an updated version without the + * impact of p on cpu must be used instead. The updated nr_running + * be computed and tested before calling idle_cpu_without(). + */ + + if (rq->ttwu_pending) + return 0; + + return 1; +} + static unsigned long capacity_of(int cpu) { return cpu_rq(cpu)->cpu_capacity; @@ -8099,7 +8146,7 @@ unsigned long cpu_util_cfs_boost(int cpu) static unsigned long cpu_util_without(int cpu, struct task_struct *p) { /* Task has no contribution or is new */ - if (cpu !=3D task_cpu(p) || !READ_ONCE(p->se.avg.last_update_time)) + if (!p || cpu !=3D task_cpu(p) || !READ_ONCE(p->se.avg.last_update_time)) p =3D NULL; =20 return cpu_util(cpu, p, -1, 0); @@ -10631,48 +10678,6 @@ static inline enum fbq_type fbq_classify_rq(struct= rq *rq) =20 struct sg_lb_stats; =20 -/* - * task_running_on_cpu - return 1 if @p is running on @cpu. - */ - -static unsigned int task_running_on_cpu(int cpu, struct task_struct *p) -{ - /* Task has no contribution or is new */ - if (cpu !=3D task_cpu(p) || !READ_ONCE(p->se.avg.last_update_time)) - return 0; - - if (task_on_rq_queued(p)) - return 1; - - return 0; -} - -/** - * idle_cpu_without - would a given CPU be idle without p ? - * @cpu: the processor on which idleness is tested. - * @p: task which should be ignored. - * - * Return: 1 if the CPU would be idle. 0 otherwise. - */ -static int idle_cpu_without(int cpu, struct task_struct *p) -{ - struct rq *rq =3D cpu_rq(cpu); - - if (rq->curr !=3D rq->idle && rq->curr !=3D p) - return 0; - - /* - * rq->nr_running can't be used but an updated version without the - * impact of p on cpu must be used instead. The updated nr_running - * be computed and tested before calling idle_cpu_without(). - */ - - if (rq->ttwu_pending) - return 0; - - return 1; -} - /* * update_sg_wakeup_stats - Update sched_group's statistics for wakeup. * @sd: The sched_domain level to look for idlest group. --=20 2.34.1 From nobody Mon Oct 6 20:59:30 2025 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2123.outbound.protection.outlook.com [40.107.237.123]) (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 B4B0A21507F for ; Thu, 17 Jul 2025 06:22:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.123 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733351; cv=fail; b=rAA6ouoX59vLui0NvZpP9VmT/P4D+8OLjMZsQXmmoE2xEkzynZGMlMod8AjntOVosHCpdPJmxDMjZoFzWoxmJFRr05UleEmvC33wbAlo1E6pf6XNaHX/0Gzq/ChmPlywhwdZu7GV4K7ALRvMiVXOikX3viDJMsWijOGGpNsY4lM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733351; c=relaxed/simple; bh=R2B8X01RI1Tf1Iw5BFBXAfg3oYqqaB3Z9l7erEMOYrc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=FYF5UYmFhfGTmHSkGzzY/iLIsCSQynExNkajaYANsAuHq9Yxofe6sYIvGJiS42bkVnEntjp15UkfzNqScpSd8HrCZdDTwMF/HMpgLITrodSaQ/wKvf7xZzWoeNU7DXHgPMy+ANg+Eddu9ppXptFmhhrQI5QLWNch21buJumFVVc= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=OfDC4u+2; arc=fail smtp.client-ip=40.107.237.123 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="OfDC4u+2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DpmMzMuwCo6Se0iCy/gSJR4Fyk0atd/5C3v7thAEEz60d+C4A4TFg+l/GlfZHifEgYp8zuCckhrNsv+F5cMLzvsMd2TzbLMl4VDCTkI6Uvus4Hl5OEQQ+7XHLdKpK5+YfIs1Nx+3RvcSGerdMNDAI+c8W6rn2IWfsemF6Gmfnc1SCJakiyq8dlzSqDF3mAIC2UVgbIxyc3cNxp348MTowjEIHJfhcw3SxYraUwzYnFxYBElozVoCTCPVQUeqkU3o6u9bnS/h0HgTv1M5MrNJz2p2XYjFrXlu5ouawRfVgFc6toUQf/rCRAjeTkjj7gUr4sf3AZkfcomrSLKK9oHGbg== 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=VMJuQ7QELqO+AGi/rjaxAew2xbp3rzck7iIBAE25gS4=; b=zCPfQfrwsbB5KB6GtXw+6MS+0hE/PkEaABRB+V4dz3KkHPinw8CHXukoPY5MU2mas57mIMk1vMwM6+FawK3B+XRwpoWMBPLuXHZlmL2zkw8Mxds5Q1wRyjB6grn346JJSTCn5sxzzUd+vOYDILVmvfpH8cG5UOxVJYTL6rVYve9i3yZNCLx7Wo9INUZpn7dIMm8iG/eDKBcfGxOWNzwRrrQg67KZ2CDbI/+wkdA4ur5E7yQWgrKa2tUZ/v2ljOMF8rEvuaCbZVIMFPodOYXtdM1857P9BdYV32CLhf4OVTrA6eGGBwLgi7oPUItzaAT1o1tKVMGHvpqEMoVWjZdA+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VMJuQ7QELqO+AGi/rjaxAew2xbp3rzck7iIBAE25gS4=; b=OfDC4u+2wOPH7Eg9b/EdHlPVoOncSVOBHC7JdnngpyNvnx3i/la/rvy34ePyISFAErtvjEFsKzHiQojHSof4YJHi7+YkcouMskSxSVlqxm7Zn6Cn8uulogLdL+10vyn4RzvhmERLDALxDWja6N1yQMbNxnMZRih9Py5R2JjLM1E= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) by PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.39; Thu, 17 Jul 2025 06:22:27 +0000 Received: from PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2]) by PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2%7]) with mapi id 15.20.8922.035; Thu, 17 Jul 2025 06:22:27 +0000 From: Adam Li To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org Cc: dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com, cl@linux.com, linux-kernel@vger.kernel.org, patches@amperecomputing.com, shkaushik@amperecomputing.com, Adam Li Subject: [RFC PATCH v2 5/6] sched/fair: Introduce update_sg_stats() Date: Thu, 17 Jul 2025 06:20:35 +0000 Message-Id: <20250717062036.432243-6-adamli@os.amperecomputing.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250717062036.432243-1-adamli@os.amperecomputing.com> References: <20250717062036.432243-1-adamli@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: JH0PR01CA0078.apcprd01.prod.exchangelabs.com (2603:1096:990:55::15) To PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) 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: PH0PR01MB6761:EE_|PH0PR01MB7287:EE_ X-MS-Office365-Filtering-Correlation-Id: cc0a5674-c653-4283-ca98-08ddc4fa4d04 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?WlU/djKmRCDa2n6eKNOV5avL0BmLq5zC97knGzDdUJD1OuULx3XQpFzOZt5n?= =?us-ascii?Q?GKaDvw9MKnkhqt3HJDJRumkYzKTRfWxbR7JZz6idk43RRFPlrYgwo4rbPfGj?= =?us-ascii?Q?Udi33KZYopp4jOEcKDHSotAPNUOA0jNjU4GOpbH8FnxOt0CZcTDIf0sTm7Pm?= =?us-ascii?Q?SyvChri7dCM39OT0NfYuQOBPpNWO1qaNwP2ET4E1uRIBCaX2rnLQGaFSC4ip?= =?us-ascii?Q?cEQsJvRpDibD/km3XWYt2SijYpYvnX18849X55BBriVmUpdzYjs/8Pvhy9Kl?= =?us-ascii?Q?96tzrGVh9OjBLtqTFolFIux5cg1EgtIKHeJqL8uDuI1fYR0W2wQH46wn/R3L?= =?us-ascii?Q?le9ulnZuP78zQlc2ouI1DHKBPxFpwQgSlo96MsMsEjzXdmCyWQtvxCqQ2fi3?= =?us-ascii?Q?DgL8QBr3NmIC97rtkIOyJPAZ7RjONBniC4zz7SnU6A0VCO+kRqqTYsGJ7mr4?= =?us-ascii?Q?66zADRDrGkuUhIvp/V66MfhkdYAuFNb4zPg3rpJOfsVBPhxtG1iP7GvCc1a7?= =?us-ascii?Q?OFFOiOrUbsjkahfXo4mOteBRKDNcz9XA15eN8K1WhhSq/ZpX/zwryb8A7hDx?= =?us-ascii?Q?7R+4LmMiV7k9Stw+YePDjC768CJ+F4/M81k+AqpG1PrBP/M1RjnXDrBShY/q?= =?us-ascii?Q?Jx/fj18uT+WDqBYqGvDeejosxmGni5d2kpotwFm2eT9nOQFtLeh9gXf0uU2G?= =?us-ascii?Q?C4g8UOOCxNAOKg5sb9+skJnpkNVM7HwQ7L971LsMnq7UevrWfcSXfS/X8a0Z?= =?us-ascii?Q?fVFMqdUoKudl5tpQkEtDPS+OprV3hQej5uRhLRe2QnpILCyOLXgKcZE3l2WG?= =?us-ascii?Q?ltzeLCE0wTpHorEx5lj4RaBzJGuSHpUSuL4JEyWt8p/xTRjai4cUnBQ5wKLV?= =?us-ascii?Q?Z8Cl/KC9tC/N8iIac60jtbDHTIuftdKbkRkRNeLdXU2sdLvrxJdBJV/nKYyf?= =?us-ascii?Q?v3Q2RvszM/IlNgO1I1ystYS7fLIQ9CEyHGLygJ71RJWzKTfKV45QklGd83Ka?= =?us-ascii?Q?eGqu+pK55mhyfcSH2d1oJdaAjSNZcUSOgX57bkVUh7LuVuEjGFle+UnctcJQ?= =?us-ascii?Q?yNtIyPudewR2ljHyN+JuHroy3jAGsrF9yY6Y4m9TfFH+mtoKxAMMy4sEsirw?= =?us-ascii?Q?QZ56IK0sGM7PpZcwsen+ivKGNIXuNNrDFPUk9i4cnIY5OPLzcNsPVGZ1ACUY?= =?us-ascii?Q?G8Gt8t4qaO0Si2sd1ytl9nWEPfyqD0rjV8If4LBM0UldAocpSsWo21IOKdly?= =?us-ascii?Q?OpQwSeZsGj6v1sIH81jO0g5mfns99LV/ENNg3wOUqIkIe+COnzRiKNGg9STS?= =?us-ascii?Q?DfKEETCz/kTEpfxROyQgq82gXHpn7f6CDprTZAtzK2tO6nCdwCkzqIkbhyYd?= =?us-ascii?Q?jLB98WqFVu8AK7rzLC8fWBs3Rneij5KFEestfrirMZwV+3RB2+kFEHIN28d0?= =?us-ascii?Q?B/2S5o8k6xZyOmbKw3X8c8KQGC6nvtAQ0IA1nFw5eaMhSQh3aMr2qw=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB6761.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Lg+xsmeVyzXRo4+EsMUF8di03Os974KXrnOABswVXEG3VwbB9Fc5Gg1EE59J?= =?us-ascii?Q?A4+vMIoccVKXekqCNFnwMQtdp2PKJBx24VBFYQShFHghRZ1hrbJYLMgYl9hG?= =?us-ascii?Q?hLcFSXbfYmInK6XASoUbU902v5o5OPQH+kT3+XUoyK8mZRlEDXDjYbgZOw1T?= =?us-ascii?Q?VahFuCb4xdJUBY6wa8MCeSCHML+eQbQok3mRFxqPrXe3P394JmmJMRPIWH/3?= =?us-ascii?Q?tFncSAdAnrFSmZBpyX4jYlPmvj5J+3p39QX1MDbI9FtO6e54Zb1IZRl0l9HH?= =?us-ascii?Q?hrtoKZ3K9p61xHOh+49iLhbhTSxflntnf/zMJU2Bx1x684E03f5LSV2sgiCR?= =?us-ascii?Q?UAU5fB/Am+rcjCEpoxynGRTP+ku4JMiziM3MvybAFPwpzf5v7jCMJxb0vKGY?= =?us-ascii?Q?VVNvD+AZK4uwiaamIyZnHQ8D0DM9HDvchhxW/1jZUDdyrkAYQ+SMwfb0U85q?= =?us-ascii?Q?rC8Hfe8zM+3MPu1rz7WzC519X+foMY3Hbwr+jmZ0GJs1ZSfx6IJfgyBHJKiT?= =?us-ascii?Q?LEnCvT+3r7eym4GDdNdMhpAUbpENwRYqLvGm7G+U7ekjWNFY2HudGSuoBo1o?= =?us-ascii?Q?X4LbZlNCPX1Cx7ToHmCIVsztml3TBNNFju0AiHpZiExc2WY6uHCO4iVbZt4a?= =?us-ascii?Q?J1umAMwCeVY3WzUt9/isg5DTLtVsDojX/D3LfxgJx15HMri4wcfXeqHQ+Fi+?= =?us-ascii?Q?BIdXufIL7j5noNpoIdfhpo4VVuF8N93QUa0Yh7O097aTWbwdlLSd7dRBTdnQ?= =?us-ascii?Q?ldOH5dL2L+NBAYOKUGLSSNC//YDUP7dao9KP1WKmuFf2IXVrSc0yOuXVpuYe?= =?us-ascii?Q?AGjxKTDd4mHV+xYphVVmzwIhVrVBetPkwPHtPx6tc9DnULNgAPi1R6ttbfhP?= =?us-ascii?Q?9Dnhj2yf96zbkhFJOwS6QMPHHblsgZPQu9Dl9iCGQC2bewsblXovZ3puVIsA?= =?us-ascii?Q?UssNUPHZbdL6Ypvw8fAb22g6AsbJxiQSlLIQT/vzUKs+6PPNk9crSV61vUUC?= =?us-ascii?Q?9US9n5d5SmdIEaNUzMPtqBqYEE2EnWRvuJKBxrXDh6oNJCLveluSu4ZqyhRK?= =?us-ascii?Q?4AruaYTOZIRSbPylebJg7q5rz1rkB9zlMBNT3ya+lhpUNcP/t2GMGglxpFWS?= =?us-ascii?Q?zKqEHkoPOMrEc/Pip7kfI1mo9oX7W95yaTSQv//2XJJRPbH4MB36OilH7K6i?= =?us-ascii?Q?1FPlCnSdwQ/JTkN5AN9rpXC8MSg5uZxri8n0yy5EUDmcXx/p+r1x5v2AgYOp?= =?us-ascii?Q?ApP6C6u43yLxKG1PCIql6B/UajPQW6PJTto8hyhLU1rvKbLhsKSjrXsANKgu?= =?us-ascii?Q?ZuqNS6zeTl1OgxHv62PIeybFL84Rwhon6jr0RIypv4TkoOpFY8py6L5box6D?= =?us-ascii?Q?0CGpDLAIYxoVCyArXheGiQysEm2tOJJz/JgzShMzyQCA19kAOmf72kGJkEHS?= =?us-ascii?Q?61TVaqL0KGhiYizAXClK5eH155fG8vxXQumdIhpdZJM1i+dMdv7rXtcKFzSD?= =?us-ascii?Q?qzxObnef7L53gJOLPVZPoGMaGiNXq8hDplgLDN0gKqDsv0vA6MVZo/2IqQ7o?= =?us-ascii?Q?Rp3j5aZbCR/rmsliUvjOtIxznSC6hLspe7zz44M133njNJNOXhtwINaWPw/s?= =?us-ascii?Q?P6LpoG8sXxTh43KV02/2yQw=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc0a5674-c653-4283-ca98-08ddc4fa4d04 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB6761.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2025 06:22:27.1179 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sAF6qFRNDTGWUOwRawoedLa3VW7t+3bkW6xPoeXXRv1+tJMNdY1JwDvnPsWpQbZKf0gvUJtOTiDleJr6dXm6n4blInL0Bx0slvDMoBFhVKqH6Ye91WG0b129H+9qkwqi X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR01MB7287 Content-Type: text/plain; charset="utf-8" Unify common logic in update_sg_lb_stats() and update_sg_wakeup_stats() into function update_sg_stats(). Signed-off-by: Adam Li --- kernel/sched/fair.c | 115 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 69dac5b337d8..f4ab520951a8 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10398,6 +10398,121 @@ sched_reduced_capacity(struct rq *rq, struct sche= d_domain *sd) return check_cpu_capacity(rq, sd); } =20 +struct sg_lb_stat_env { + /* true: find src group, false: find dst group */ + bool find_src_sg; + struct cpumask *cpus; + struct sched_domain *sd; + struct task_struct *p; + bool *sg_overloaded; + bool *sg_overutilized; + int local_group; + struct lb_env *lb_env; +}; + +static inline void update_sg_stats(struct sg_lb_stats *sgs, + struct sched_group *group, + struct sg_lb_stat_env *env) +{ + bool find_src_sg =3D env->find_src_sg; + int i, sd_flags =3D env->sd->flags; + bool balancing_at_rd =3D !env->sd->parent; + struct task_struct *p =3D env->p; + enum cpu_idle_type idle; + + if (env->lb_env) + idle =3D env->lb_env->idle; + + for_each_cpu_and(i, sched_group_span(group), env->cpus) { + struct rq *rq =3D cpu_rq(i); + unsigned int local, load =3D cpu_load_without(rq, p); + int nr_running; + + sgs->group_load +=3D load; + sgs->group_util +=3D cpu_util_without(i, p); + sgs->group_runnable +=3D cpu_runnable_without(rq, p); + local =3D task_running_on_cpu(i, p); + sgs->sum_h_nr_running +=3D rq->cfs.h_nr_runnable - local; + + nr_running =3D rq->nr_running - local; + sgs->sum_nr_running +=3D nr_running; + + if (find_src_sg && cpu_overutilized(i)) + *env->sg_overutilized =3D 1; + + /* + * No need to call idle_cpu_without() if nr_running is not 0 + */ + if (!nr_running && idle_cpu_without(i, p)) { + sgs->idle_cpus++; + /* Idle cpu can't have mistfit task */ + continue; + } + + if (!find_src_sg) { + /* Check if task fits in the CPU */ + if (sd_flags & SD_ASYM_CPUCAPACITY && + sgs->group_misfit_task_load && + task_fits_cpu(p, i)) + sgs->group_misfit_task_load =3D 0; + + /* We are done if to find dst(idlest) group */ + continue; + } + + /* Overload indicator is only updated at root domain */ + if (balancing_at_rd && nr_running > 1) + *env->sg_overloaded =3D 1; + +#ifdef CONFIG_NUMA_BALANCING + /* Only fbq_classify_group() uses this to classify NUMA groups */ + if (sd_flags & SD_NUMA) { + sgs->nr_numa_running +=3D rq->nr_numa_running; + sgs->nr_preferred_running +=3D rq->nr_preferred_running; + } +#endif + if (env->local_group) + continue; + + if (sd_flags & SD_ASYM_CPUCAPACITY) { + /* Check for a misfit task on the cpu */ + if (sgs->group_misfit_task_load < rq->misfit_task_load) { + sgs->group_misfit_task_load =3D rq->misfit_task_load; + *env->sg_overloaded =3D 1; + } + } else if (idle && sched_reduced_capacity(rq, env->sd)) { + /* Check for a task running on a CPU with reduced capacity */ + if (sgs->group_misfit_task_load < load) + sgs->group_misfit_task_load =3D load; + } + } + + sgs->group_capacity =3D group->sgc->capacity; + + /* Only count group_weight for allowed cpus */ + sgs->group_weight =3D cpumask_weight_and(sched_group_span(group), env->cp= us); + + /* Check if dst CPU is idle and preferred to this group */ + if (find_src_sg && !env->local_group && idle && sgs->sum_h_nr_running && + sched_group_asym(env->lb_env, sgs, group)) + sgs->group_asym_packing =3D 1; + + /* Check for loaded SMT group to be balanced to dst CPU */ + if (find_src_sg && !env->local_group && smt_balance(env->lb_env, sgs, gro= up)) + sgs->group_smt_balance =3D 1; + + sgs->group_type =3D group_classify(env->sd->imbalance_pct, group, sgs); + + /* + * Computing avg_load makes sense only when group is fully busy or + * overloaded + */ + if (sgs->group_type =3D=3D group_fully_busy || + sgs->group_type =3D=3D group_overloaded) + sgs->avg_load =3D (sgs->group_load * SCHED_CAPACITY_SCALE) / + sgs->group_capacity; +} + /** * update_sg_lb_stats - Update sched_group's statistics for load balancing. * @env: The load balancing environment. --=20 2.34.1 From nobody Mon Oct 6 20:59:30 2025 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2097.outbound.protection.outlook.com [40.107.102.97]) (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 866031E2312 for ; Thu, 17 Jul 2025 06:22:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.102.97 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733366; cv=fail; b=NR4nNrCOKwwKYfC9iFBcoWXumfYAOlkM1KNmBMdKZI/7OZP2ZbCGkZ7wEKglA5KW4ywr7RIloD1AK5yjVClYAr9703MmzCLbI1cpRpl/cl2YNVv3fku18qIemfD9qHEksOrbwjFEthuf0YirrLXwM46SQnnPEYsDnWxmGpAWLW4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1752733366; c=relaxed/simple; bh=sfNrXg8+4VhfIg4fV1tfffXaV7L8SIVtt9B3fzZ0CJM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=OQAVz4fr5d+kB0Z1PPTqrdrdw6wPgB6FsnHoPvkedpfwGYBashU5xUNG8yNlyMq7ki7POKZR7buaBb11i+pOqruBA9Mesv82PtosHimSDf/5MhzfkgJDxDmpnBuBnbQ+QKd69O25Ax8cyOGpk4JVwxwMm+UwslV+xxiisOY1JU4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com; spf=pass smtp.mailfrom=os.amperecomputing.com; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b=uuLQCU11; arc=fail smtp.client-ip=40.107.102.97 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=os.amperecomputing.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=os.amperecomputing.com header.i=@os.amperecomputing.com header.b="uuLQCU11" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=URKEksfq3H2qzopeRUTsbyd4/jDNyqwoeYs4xb9aVCz54gc1IEysXJK5yw3lSiRO08gehjIRDvuKL+ahRBuyrV/U0FCZWEeVLBWSs664fnj6a4SjOQODecAI24OxivIP6YX4rBHAGkfygjq8DK/2RPm7ZEpDtM7XxtiytPHJ/qGEWVXvDowxHHFHKVa58xzebhDCNeUExBBPjf7vOWSkCzbUVzGr6XQ540rpbtRpJVZvFFTPJBIqd3FMXBq3EWCgHvZ1ggixmqcbrJBJT0JwwhTQFNt4nvdv3dwkVJ91B+uTS2Jt1ANfKw9FwEw21Zf6u6MFYn34sdTtpyAuD4vyjQ== 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=i24rGve1LJxxfa6Hg67tgwiwPx2M6fpX+Eg7U7FhSPo=; b=FgVL7fpAFy7CfNh1i3Pm6yY53YbMRJ96ZcTa+xN3h9R6maRY8E6Jfsg+Qnksh75q2seACQ0N4kvIM1/DU84QjuGeWoYJ3SVcJmDZ3m2qIxr4lHc7zCZ12B+p+5FilBuOmpylOGErCpkKRg68aWRhlHvn7ZLPD1elQx6zyhBpFKe1WJ3Xy3O9d2YXmMtTIVTuk0R6nNg5r4kHYHWFW10YgPad/piPFxj7L19U/mg808wcDWmfpWcaVGzlUmyQkN2gU2UMIER5/HDWD7Gs6XIW7Zsy8/n7/70jKUzUpqbFCnzEMeQ978mLGxqPlQz8VE6jNVsbaHgqCY5aQQCtyoUbng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=i24rGve1LJxxfa6Hg67tgwiwPx2M6fpX+Eg7U7FhSPo=; b=uuLQCU11eVlE/TUsoCWblyMokI9ZtSe+aBSCSpMcyOSZj02O/EM3vOiHz/razyCjO053KfaWe6whA8d0M/ki5V+DQXfSYc0gMSSs3kpPZXanJmkS3C5TTe2AQ6kghZuaJhXFaQb5m+13AquF9vfvFlb+OqoXTrtICAkO491mobI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) by PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8922.39; Thu, 17 Jul 2025 06:22:42 +0000 Received: from PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2]) by PH0PR01MB6761.prod.exchangelabs.com ([fe80::bf98:19e8:71ee:cf2%7]) with mapi id 15.20.8922.035; Thu, 17 Jul 2025 06:22:42 +0000 From: Adam Li To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org Cc: dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, vschneid@redhat.com, cl@linux.com, linux-kernel@vger.kernel.org, patches@amperecomputing.com, shkaushik@amperecomputing.com, Adam Li Subject: [RFC PATCH v2 6/6] sched/fair: Unify update_sg_lb_stats() and update_sg_wakeup_stats() Date: Thu, 17 Jul 2025 06:20:36 +0000 Message-Id: <20250717062036.432243-7-adamli@os.amperecomputing.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250717062036.432243-1-adamli@os.amperecomputing.com> References: <20250717062036.432243-1-adamli@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: JH0PR01CA0150.apcprd01.prod.exchangelabs.com (2603:1096:990:5b::6) To PH0PR01MB6761.prod.exchangelabs.com (2603:10b6:510:76::23) 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: PH0PR01MB6761:EE_|PH0PR01MB7287:EE_ X-MS-Office365-Filtering-Correlation-Id: 574c421e-6240-4e7c-5cb3-08ddc4fa55ea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|1800799024|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?sfNrGNUj2GKungN+0hqdqrrkfDRZoDFXtEd6P2JU7H9CgK9cvKM+AZy49Kjn?= =?us-ascii?Q?f4jH63PtRX53s3mL51XI+5Y7e43pCw1ckgJevIRvdgzGo9UxFKf1c+GtWpkt?= =?us-ascii?Q?pw6yU+TWaIq4qCN+JQr0XI4y9l9QRflvYnRGoe7tyK4a89yBGp/E3wP2nnih?= =?us-ascii?Q?0W5PAb0hkZ7lQ7VYdfAkKc6BmwgvdIIXNl3BAsxi0b+JbxiyH/snxkz5pEtw?= =?us-ascii?Q?HOz9w9JxGWRl9tAjYkjUsA45JY7KlDlo7B749wtt94w3evmOg2EHVYEJOIpB?= =?us-ascii?Q?GKIdv3id1J20IQ0yZ0h+DFaR59DZs4t37kIJnVfrpIfeaox3eEtixRsGr5OT?= =?us-ascii?Q?qMdAYB0H0X6d0vINJ0lyXUU159O7lorK/1iUTE4wX3SpuaQeKPyrDIj2ld4M?= =?us-ascii?Q?+bD+xwIsye2oVLOsqWATbQwwqpPp0X4vheYnwj3R7/HbqmOx1rNNqE3W56wa?= =?us-ascii?Q?99/hbKx6c4wdovlPWgYy02GWcWS1heGbsnRYrjAGJsLOGjzEqjZym3588sMO?= =?us-ascii?Q?7QbzsOXkIxR2NtG9Iu7yvfcL36ncZ4JYjzNJP7cFLkZdALR+3lnjgJwaG0Nx?= =?us-ascii?Q?7tB2L/+ij/6FnaBKmD5uHkJZbTGVT0a/JOVv5crGDm3cAweq5pD8MGpGva2t?= =?us-ascii?Q?yeEwknmeQzQnDem3ZNLwNxBxKavYBVM+sbxdTEVOoFzuXs+SbqnR54fNiDvy?= =?us-ascii?Q?MSXps8BbwE3FP9LfdYd87kIW1y+NY0jkJ6+hPfNPSIzw5AWymnbexoqFFPWc?= =?us-ascii?Q?EqHfBT8X6iUcaFI4r8h5xVeHgG/Uv7guOMdb0nrxZKnq0xONMbgEpYfL5OYL?= =?us-ascii?Q?/o5KnskGIBgb8rCO+jL6mwW0T43qq6p5slgp1u9ibW60/6GEjnejSz+FTlEw?= =?us-ascii?Q?JVsGDlnGlFuqCWVYluR6peZ9htT2OlGltgECDnOmOoNkRNJxO1mSQJUBMJoL?= =?us-ascii?Q?jtZu2DhonKMI52ihUPzv77VagrPH5zaXA2GYprCBI6D7Z6lFtIu1YuwNNPxz?= =?us-ascii?Q?AYXxrkKAQ2lxbgYeCQb4kK4EM/8uOnEYl8iXF7KcMhLQjPJ4auc/IbZCain8?= =?us-ascii?Q?6zZnC90MiciFcWFDnDSTeA6CEfIrRKrPWBj42Czx+yWKH8xw6aqXeItYqGHI?= =?us-ascii?Q?z9jyBmuTfPfMH2qOZDWHd3IMUSdbis5KUw9RtHeECOINK/2jFybibLeCT2y7?= =?us-ascii?Q?BkHeqid8AGvxnk8cpQ+ZhMKKj/RluAVsCs7XBwg6owyDKSINXQRrRGgsyAv+?= =?us-ascii?Q?REn0LaVideSnSYihFb8k6C3tOvPkb8iIxpvv//i+LgIZvrkSjxsURH51rXng?= =?us-ascii?Q?whuLfCyFNxdEPhBQdpd7IXJN+zouN9y4gYlsD1Fo6I6laYN577BtdCENOPHe?= =?us-ascii?Q?yJSiRzkSEzS9RbZdsacMOr74RT2bgukl4tP/HkedMUP5slfqdbn7lA9rP9PM?= =?us-ascii?Q?zgS/wDF5UIcmJ5XwNBfPXINlrfGTfpp+cjxMBAWNRCaVeCq6qS0Zfg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB6761.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HkhrewypscOglvX7ftiOVeCmL1suRQvJHK89F5+ha/nadLFgvJAkp5PACj9I?= =?us-ascii?Q?GrtQ0mRufb9WcZPPqzRhOuoxkgINxDyRH+Ws9Ce5iTd7il0bh963mVwXU2Sc?= =?us-ascii?Q?6lS0f0iOduQ7vzWayyMLtlvGS1/l8fVtQTn4XaS/2YBMdPNvxvlJAcf2nH9d?= =?us-ascii?Q?7OE8GnWqh6bTyqTD8nUEL0m0aa/KHA/J2TPAAaeJTPtbexR6i2sSFVrIOA/L?= =?us-ascii?Q?eaU5pEfA0/Jd/TRnZawixf4CcAjMBAnrdAbsfkrjlKfb3XrvGLKWgI2xxoKt?= =?us-ascii?Q?Gc1xckYMQZOqKtihYhYgNM+/WnEaGZJ5kVBYzkzgH48bXbqAVrbZ9mBwejEM?= =?us-ascii?Q?XYH63bLNNWpgLM/twGg4XZtu4gvbmpdcmrh84A5+RtEPYQg47gY7R7BH1UA/?= =?us-ascii?Q?KBPNmOuO2wYy9AsPhgt804P3dvzMgrNzmQrng+IF8yaRyCfo5vCo6MtVegh1?= =?us-ascii?Q?WWa1FNXJN+rmVgNcr5evEZtzPQXt8l8UT6Z8Fta74Bn4nertSPzh5c0zblP5?= =?us-ascii?Q?re6H5fMZsHiva1tQQdJUKYcWX3/L9m329SXmB5boTjFst0ZnFM96HYegEucZ?= =?us-ascii?Q?1b2RNKlQih+gdWmEySA29KZYj19ceKI5N2tj09GgNOUemUzikuLz9Q5ac/TU?= =?us-ascii?Q?YSNNi7t2l/ypu9ElISmhqZhVClgVuy2IoLL6xO2xREfHYZOs/Ex7gfqyA7eq?= =?us-ascii?Q?R9tIXWHk2ObATPcJXfemL0JPEFPycgaFW/EX+/uWygzNpX7UFuCB3aidbEcN?= =?us-ascii?Q?720ZMNsHxEnHgfhc67TWtaP31fMLJh8dryGw/RpieLzNsJzZZMIpHOp4netK?= =?us-ascii?Q?9W3brzRPcInqDvRBTrgIqV6/ksP3ykftLFuixQ2NKJXZ0XH370Yp5aIrqy5b?= =?us-ascii?Q?RW9920RaCYGsp82KxeyN7Ms+f+I4O0kVIRcq+GBY4jtRqB932RGfMJfpO4kV?= =?us-ascii?Q?qH3CwE45NIjZ0jlYa42toFjkr0rOKn5MSxtc21VeorfeF6jMHDdOaEM6ImMp?= =?us-ascii?Q?Zaix2R9ZpFYSY61okuARJPEnpcWOtnj9WbEmU2QVUG0595z9YLxxMcuytj6E?= =?us-ascii?Q?abzJt8+EOslLwxizCoZ/MnjXAH26FSqLlzi4GYfRVyTrPDtgAx/LuVkd/O6f?= =?us-ascii?Q?GfKpDMgtZwdjHy2+r0Ya6LATdb6D/PilXmjmZK2H7nObK1DsP08QtTeRtTfT?= =?us-ascii?Q?bwzavTGbvHlAEIt1u7+ol8HVPZHgCqQuU2NrLlpYSarIneLTiozj0EhjYDHL?= =?us-ascii?Q?pVoXN517XMjyE/Nwga4H+6rkIyktNHAXwu1plE1NVM5IkF+XGzW9l2eWiuIf?= =?us-ascii?Q?JOC2vWaF0cxFwaEz80FrBP38IIMAEkCgfG0XRNEY/ql21OjQBkIolTzz+McW?= =?us-ascii?Q?RjLLSVdKQVyqdbi2+4vstxBT6kbKdQdiAjeNPUNzHgfzMQjPQRlbyh41/N66?= =?us-ascii?Q?+EIukNtfJc2LEhgfsvTom81urczN3Uq6a/7sAnVkUqdvwl8/ACIh8Fwn0FLE?= =?us-ascii?Q?vYFtnMUDpi3yoTBT5jkVdp8v58KRnhA8pkgvE4nYtKLldlh0GiUhQmWEsOxX?= =?us-ascii?Q?7idA+G4tKKJD8g6qTRGV0dDD9j7BJljXf2r+0ZDDaiTZfMln0zckbQMhUN8/?= =?us-ascii?Q?WV7zJ2907ehVXnoIrnGr/Xk=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 574c421e-6240-4e7c-5cb3-08ddc4fa55ea X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB6761.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2025 06:22:42.2070 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: B72sw4yYMOCki3rsNSMsjBVFlmbVUDhdUTG/dy+JNmvb0fIXKvRi0O5ZY2haOEiwRMfxcamW6I82POaBPFq9WA8U1Fv5GblZefP6bTsio5HQdLPtCBDATC0LpFwHFkTp X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR01MB7287 Content-Type: text/plain; charset="utf-8" The two functions call common function update_sg_stats(), with different context. Signed-off-by: Adam Li --- kernel/sched/fair.c | 136 ++++++-------------------------------------- 1 file changed, 18 insertions(+), 118 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index f4ab520951a8..96a2ca4fa880 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10529,83 +10529,20 @@ static inline void update_sg_lb_stats(struct lb_e= nv *env, bool *sg_overloaded, bool *sg_overutilized) { - int i, nr_running, local_group, sd_flags =3D env->sd->flags; - bool balancing_at_rd =3D !env->sd->parent; + struct sg_lb_stat_env stat_env =3D { + .find_src_sg =3D true, + .cpus =3D env->cpus, + .sd =3D env->sd, + .p =3D NULL, + .sg_overutilized =3D sg_overutilized, + .sg_overloaded =3D sg_overloaded, + .local_group =3D group =3D=3D sds->local, + .lb_env =3D env, + }; =20 memset(sgs, 0, sizeof(*sgs)); =20 - local_group =3D group =3D=3D sds->local; - - for_each_cpu_and(i, sched_group_span(group), env->cpus) { - struct rq *rq =3D cpu_rq(i); - unsigned long load =3D cpu_load(rq); - - sgs->group_load +=3D load; - sgs->group_util +=3D cpu_util_cfs(i); - sgs->group_runnable +=3D cpu_runnable(rq); - sgs->sum_h_nr_running +=3D rq->cfs.h_nr_runnable; - - nr_running =3D rq->nr_running; - sgs->sum_nr_running +=3D nr_running; - - if (cpu_overutilized(i)) - *sg_overutilized =3D 1; - - /* - * No need to call idle_cpu() if nr_running is not 0 - */ - if (!nr_running && idle_cpu(i)) { - sgs->idle_cpus++; - /* Idle cpu can't have misfit task */ - continue; - } - - /* Overload indicator is only updated at root domain */ - if (balancing_at_rd && nr_running > 1) - *sg_overloaded =3D 1; - -#ifdef CONFIG_NUMA_BALANCING - /* Only fbq_classify_group() uses this to classify NUMA groups */ - if (sd_flags & SD_NUMA) { - sgs->nr_numa_running +=3D rq->nr_numa_running; - sgs->nr_preferred_running +=3D rq->nr_preferred_running; - } -#endif - if (local_group) - continue; - - if (sd_flags & SD_ASYM_CPUCAPACITY) { - /* Check for a misfit task on the cpu */ - if (sgs->group_misfit_task_load < rq->misfit_task_load) { - sgs->group_misfit_task_load =3D rq->misfit_task_load; - *sg_overloaded =3D 1; - } - } else if (env->idle && sched_reduced_capacity(rq, env->sd)) { - /* Check for a task running on a CPU with reduced capacity */ - if (sgs->group_misfit_task_load < load) - sgs->group_misfit_task_load =3D load; - } - } - - sgs->group_capacity =3D group->sgc->capacity; - - sgs->group_weight =3D cpumask_weight_and(sched_group_span(group), env->cp= us); - - /* Check if dst CPU is idle and preferred to this group */ - if (!local_group && env->idle && sgs->sum_h_nr_running && - sched_group_asym(env, sgs, group)) - sgs->group_asym_packing =3D 1; - - /* Check for loaded SMT group to be balanced to dst CPU */ - if (!local_group && smt_balance(env, sgs, group)) - sgs->group_smt_balance =3D 1; - - sgs->group_type =3D group_classify(env->sd->imbalance_pct, group, sgs); - - /* Computing avg_load makes sense only when group is overloaded */ - if (sgs->group_type =3D=3D group_overloaded) - sgs->avg_load =3D (sgs->group_load * SCHED_CAPACITY_SCALE) / - sgs->group_capacity; + update_sg_stats(sgs, group, &stat_env); } =20 /** @@ -10805,7 +10742,12 @@ static inline void update_sg_wakeup_stats(struct s= ched_domain *sd, struct sg_lb_stats *sgs, struct task_struct *p) { - int i, nr_running; + struct sg_lb_stat_env stat_env =3D { + .find_src_sg =3D false, + .cpus =3D (struct cpumask *)p->cpus_ptr, + .sd =3D sd, + .p =3D p, + }; =20 memset(sgs, 0, sizeof(*sgs)); =20 @@ -10813,49 +10755,7 @@ static inline void update_sg_wakeup_stats(struct s= ched_domain *sd, if (sd->flags & SD_ASYM_CPUCAPACITY) sgs->group_misfit_task_load =3D 1; =20 - for_each_cpu_and(i, sched_group_span(group), p->cpus_ptr) { - struct rq *rq =3D cpu_rq(i); - unsigned int local; - - sgs->group_load +=3D cpu_load_without(rq, p); - sgs->group_util +=3D cpu_util_without(i, p); - sgs->group_runnable +=3D cpu_runnable_without(rq, p); - local =3D task_running_on_cpu(i, p); - sgs->sum_h_nr_running +=3D rq->cfs.h_nr_runnable - local; - - nr_running =3D rq->nr_running - local; - sgs->sum_nr_running +=3D nr_running; - - /* - * No need to call idle_cpu_without() if nr_running is not 0 - */ - if (!nr_running && idle_cpu_without(i, p)) - sgs->idle_cpus++; - - /* Check if task fits in the CPU */ - if (sd->flags & SD_ASYM_CPUCAPACITY && - sgs->group_misfit_task_load && - task_fits_cpu(p, i)) - sgs->group_misfit_task_load =3D 0; - - } - - sgs->group_capacity =3D group->sgc->capacity; - - /* Only count group_weight if p can run on these cpus */ - sgs->group_weight =3D cpumask_weight_and(sched_group_span(group), - p->cpus_ptr); - - sgs->group_type =3D group_classify(sd->imbalance_pct, group, sgs); - - /* - * Computing avg_load makes sense only when group is fully busy or - * overloaded - */ - if (sgs->group_type =3D=3D group_fully_busy || - sgs->group_type =3D=3D group_overloaded) - sgs->avg_load =3D (sgs->group_load * SCHED_CAPACITY_SCALE) / - sgs->group_capacity; + update_sg_stats(sgs, group, &stat_env); } =20 static bool update_pick_idlest(struct sched_group *idlest, --=20 2.34.1