From nobody Mon Dec 1 22:05:12 2025 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11021089.outbound.protection.outlook.com [52.101.52.89]) (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 206EA32825C for ; Thu, 27 Nov 2025 09:16:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.89 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764235016; cv=fail; b=n8yBjAjMNgvWnMxnAWR5/0EcSG1EiRK0i8hsxVuP6IsA8t13xfwrDhuzvuJ4T7DKb7tA3usHWoRjM5Fz/5Du5ws+5MZDONCtlNjLIoijrAOzcNbsX2ZPrZmghYSsxDB1hN2CmVqq4922fCHVZ/i+a55zePYNBHsjn8KbactWzXg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764235016; c=relaxed/simple; bh=s6KddVXtoK1I5xxFaWnADOzpiJhtDnUQ4g/Js9iF/54=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=d54Bvs82Bx8Pee9RIwzCJPZ28S+hrSfAswW5FNCehtcuDog4uSCxcgH5yPa2Fxv5V9zCFHCR4YZln/TGdcKXSpOx+McMEcsG+UZTvTuH/dgJxb7EqgXu42rarpk0huDhxgD+1UDue6L1beNLrs8l7Xw7sLM7SQ3IWiRvzbUGqlo= 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=tjgw0D1/; arc=fail smtp.client-ip=52.101.52.89 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="tjgw0D1/" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XtcFbVbUSw4xQpmMbgA1o0QehQF3G1XP77a2GeOVfNmYL7QUzbLCNQf4QAtKHkMQr/6Zms1bZbaMV9L7q/gCqsntoZueGWnnj+oLVaDZB1qb99hT+yJ/RuUXPUXgX0EyIKsPNTWl+7kto6dGaIf2CeDFthCZdgpEoRrRquB0fQ/QNgLQ4nMjtPwOPbbn8SQ37G1muv4u5xzHrDedDUBGUAgSXpCDW0EcZv31A1dF9uEvkaLsuMNhlhnplaronlv2cpU3W1n94vRme7Vr9jnkNkX6Z9bbFHNCqBUlUoJQaAT7tv9s68PBS1t+fmHmQo1U673JHfd1ZB8vW4BCwG4vpg== 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=lsNEkpa3tbi5Yr/LALcFR83PloNzs9jggJkBhYphaC8=; b=yTITD9sGNQlkMJk761nMGTe+tNb/g4WwCzxqz+7Kap/ltckdDuW1A2gxfIa8CaWjmx9t1nSHRgF653dT8tsp5dCWkwodtccw/M17HNI93TvYAeo56qvsEmJZDwynNKBbZAF1wYYix0pB5lRSQI8JEYik7Z17XeoordX0/ZgCABf4bGUsVBTuyM/wxsloYODqLaV/RZzTPic2OQVZoueC40lV4rHekBog67p2MoDRdY3kr843CCTdpFEduGLC7yKKrMRrnuptSoCGQkRiaoxPrY5rItQO2FDpbwWaze+gjsv60nTgSIqPOfgLznvuy/KUOzHRim74XlUXlxrR6KNKwQ== 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=lsNEkpa3tbi5Yr/LALcFR83PloNzs9jggJkBhYphaC8=; b=tjgw0D1/1zT/Wm5SQCKtBzMoHhd5wH2NV6M3v1Nf6VYMmpPil1K10UheZHevlSPRITy5EnhJsgL+uSKmPc9MpNCegvoT6Ev313dbhdSnfZrzf/jM1Al3S6i9v14dzNSxt5t4YJnjIBfXr4TYMbgv1HqwcuEBhaxARrQqlIgc6lU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from PH0PR01MB7975.prod.exchangelabs.com (2603:10b6:510:26d::15) by CH7PR01MB8977.prod.exchangelabs.com (2603:10b6:610:24f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.13; Thu, 27 Nov 2025 09:16:51 +0000 Received: from PH0PR01MB7975.prod.exchangelabs.com ([fe80::6926:a627:118e:8050]) by PH0PR01MB7975.prod.exchangelabs.com ([fe80::6926:a627:118e:8050%4]) with mapi id 15.20.9366.012; Thu, 27 Nov 2025 09:16:51 +0000 From: Huang Shijie To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org Cc: patches@amperecomputing.com, cl@linux.com, Shubhang@os.amperecomputing.com, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, linux-kernel@vger.kernel.org, vschneid@redhat.com, vineethr@linux.ibm.com, kprateek.nayak@amd.com, Huang Shijie Subject: [PATCH v3 1/2] sched/fair: set rq->idle_stamp at the end of the sched_balance_newidle Date: Thu, 27 Nov 2025 17:14:49 +0800 Message-Id: <20251127091450.250797-2-shijie@os.amperecomputing.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20251127091450.250797-1-shijie@os.amperecomputing.com> References: <20251127091450.250797-1-shijie@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR02CA0052.apcprd02.prod.outlook.com (2603:1096:4:54::16) To PH0PR01MB7975.prod.exchangelabs.com (2603:10b6:510:26d::15) 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: PH0PR01MB7975:EE_|CH7PR01MB8977:EE_ X-MS-Office365-Filtering-Correlation-Id: 63812d90-75a4-40de-0562-08de2d95b317 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?oP6R09Z31wz+lRMG41xjzmK5lD3hFX9lcRRRQDL8ccMettBu3Cp8gp6NdK1b?= =?us-ascii?Q?ex/Gen7Ey5MNwpuIlOfpr3j1ojk4NlizWIHzmgkGoBwvAGbyckFLxwflKxk1?= =?us-ascii?Q?9oQIbzuOlxeyN5iXgs/DJKs58mKzs4MtOzjoHWJXcIi+RpOLCVS+lHaLhg9b?= =?us-ascii?Q?2wn23GtKhjwFcZl5BfidSJS0EoJ+pLRT+IedrvkqRGz4BKxzoum/9KPmIG8x?= =?us-ascii?Q?2Cz/If4NevpWhGJXvDyJss+Xzv7pfb7p9PfLzxUmRTaRvyravMFqsTzMG90l?= =?us-ascii?Q?Gj2WoFj0C4/eTBGuoIw46LP9jKBSdGJkHJ+B2HhRsAIqiMcp9B3oHp9GLuPx?= =?us-ascii?Q?7OjgoRrg6ZPk51En50E03vmqkt0sUaUIsqDTj6NGlg3bx8vPtuYWqEOHKLa3?= =?us-ascii?Q?DFAXlTzrW4cCExkAJgrxFKz10gcjxsRczBUmy/sdHapYHpQ9CD5V6DEMA/wl?= =?us-ascii?Q?y3LQdBV2fJIJUJLTxkbH/pekJ85oQmxEd6N+8nYRqS4giab9453vI/9QuKUh?= =?us-ascii?Q?2AHWbd3uwteyNVLIRo/yoOKMESqDxHXItS7gJzH8ZyzepqTfTUQDVP9uWptj?= =?us-ascii?Q?87LHORFWsLlzXG7dlonhlsV7wlpfQAwz1kuCdAPAvr6rwhcq/1fby8mJiE+1?= =?us-ascii?Q?VID7xxoavHFoN3ql0BCd1bUhXNYteCp7ZLOmrNMn35Uj/7bo3hJM65ToBFOy?= =?us-ascii?Q?W0mLeyi1sieeKpRn9khp69BMvKZCuo84a9HxL5M1Iej9yBdmwXUQhe1Szh0t?= =?us-ascii?Q?tkYH/etwQDqz6fCETTB28uEaQqVu2BQkSuamhvxnv8zgQyr4heIRseINeTFQ?= =?us-ascii?Q?NP02hX6tc8Wz9brydCz7PYeLa5uXJyXvayqhYNiO3oRwhRt2u/4whvaXNv1M?= =?us-ascii?Q?LwBQOv0QdOvOJSO2mr9YbaEzEePfdlTsS4GNpzbGSQ3IMAicVbbEGMmUCmnM?= =?us-ascii?Q?04vLc4XBGPAyFdnDWrw9P05i8m9jMV/1HexsMtOxQAx2rWLOt4dPLsw1tU7P?= =?us-ascii?Q?aiLxklG9sQ4LYZZQLreLEber+se6XCo/URieF0eDf/4CEixms+IEEviXbtxu?= =?us-ascii?Q?kVcVP+0LGNr/XBtWnSQ2xu8lvo8xIjP5L02Xu1TapUcuuZxWyAn87NZlVPwa?= =?us-ascii?Q?bS8fHlC5JbjPpMtHTZv7GmFdH3reF7N58muQbEC8DccIzrm0ZW2OqSHo7PE8?= =?us-ascii?Q?SBuLM2+U5b7VpIm6rDq3cq+MLrZr8rvfNZSENfjNvxY3xDo1y5mJ7inB8PnI?= =?us-ascii?Q?Am+CIuD/bAu9I0+jxQ60QVxOzMxFpzPKQQo0nrPzjdTit4+aclIYrbEs0lDi?= =?us-ascii?Q?o1stUmFPyjGTRizxh/FFV69n5nI09cGgshjhJoouIJ1rkDNKZw0Exzgi3AS+?= =?us-ascii?Q?kpnBayd6c4+ylkeyRvID2apcKBFRGj73lpNiGg45cPNXgcV9TbntFGKyi29t?= =?us-ascii?Q?Uy+XrBwxGPxaHQEgo7iLEnSCd12njU3JqvsVdW9y6gtFQq1PEZL2iYHOz7bh?= =?us-ascii?Q?gO4yzOlMqe45093/N3CvtpDoZJ2r5llQkcnj?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB7975.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(7416014)(1800799024)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Ib9+k6unmY21ufi+q1HyKxshTkkZ3dzy4V6YXGZcgpbS27KDMw1Hnz3B4vvK?= =?us-ascii?Q?yipWVJe3qLOP+8uYnH2+vU9r1Yd3qlrobNHLuGk8wH0lt38GxMKQxRd+fGVL?= =?us-ascii?Q?RFksoeGc8wt3nrVxh0m8081f6XJH389/e+Y+r5dPY9Cz4nvAhNEI5z/4/HAw?= =?us-ascii?Q?UAQSI1PL5rugFGVqXvLrD9Ft7oU/g6uaq4fecWPOH804N1f5IQN2mcBBH8YM?= =?us-ascii?Q?QMBQZ7gSss99PY3OCpbmWhGZrrky/6RQYOj4ArkOOiXPQmgWbnR9YAim3Wwk?= =?us-ascii?Q?XugqW1g4HcOj5rZId0m8a8FwJUpjhd8BC+PzIN7e3DyPIkwCljrCldyhabyX?= =?us-ascii?Q?CmqcX2gQR5FNao6jfjFOjKZL3gYicDuPQtsFVSq67ZNbm/15srE39Im8uiSH?= =?us-ascii?Q?K7lT0Y4t+WhwzT8OEA6oKSj73kv6zn76HCHwTnkEf/iQCUjowCZQAkbvwys0?= =?us-ascii?Q?X7r9/AcGmKamoevg4pDWV2uO9lrRfWyu1nOosMMpaqnkMYUhiTIE7/R3wfmX?= =?us-ascii?Q?KMTXP7z1193UhBI6zDIGLPb6It/51SdzmO63iZwgYq0CmJ8/fYIRSMCOZLUk?= =?us-ascii?Q?3QdXEmU1hptlz0I3BrPUpUXY9b0SUMQ5z/UOSTr7s9GbE3tHNgIHcuB8oyTI?= =?us-ascii?Q?xgMxQ9VbiHi8TpuR4LyKKX8+tNy5u0qMRXSkY8c9LibR1ho+SI/5Ggm52hlq?= =?us-ascii?Q?5hjop9E/Csz38iaS55BhyF9wsY6gGaVGbSMv7uiqiYplqqSvH6klmdBoz2uL?= =?us-ascii?Q?6DkUXV+Nsgfh9NLblt1AIQzlqEPUCWgsSGwR0T0eaWwYokLexDeOQofBQm9f?= =?us-ascii?Q?UOpgS3K4Y4mAicm5nnVUBDZAFVITJ08JFJtuLioJDa5NMtwway0zpiaOUDoW?= =?us-ascii?Q?Ar2ZCGXSjLrFJjK3D+YCLw8oLR0IXnHtw63wRXzbBx9qYMW75XBLmmg1s47S?= =?us-ascii?Q?VAg6FKk/ygpW7irSRxvj9qDkbTFQ/5H4v38dIXh4jncglPAiNS/rkHMeiSv4?= =?us-ascii?Q?zINHJZfjGSgC1XueDXidxijGjuJgu5C6bEF0hY+GJhrNkOuDzarYKTt11KkG?= =?us-ascii?Q?zCKz5pjJFPx6hDrDij/Fx0W3JsTaHX8GkFOJspoJNq7/dzGVEYi+YvkfcwwU?= =?us-ascii?Q?uCL68jVNHAJdcKNDTs9coilGGoNUoqSUlm5o3lIWyfWU4aUbgsukwG/sIFlP?= =?us-ascii?Q?ec8djmunwUbkzTn6Uov3jGTrwlLC2lEoS/KUdgKADirmZtWtyVyEBWpCuFVI?= =?us-ascii?Q?wzP7IthpppBbHn+0dcVMuFNzn2nyT11e+BXcY4JZGjDpd7y7EOTSmSFANCQO?= =?us-ascii?Q?Oc3Hx6jbugJ+ZRztOpsrQ2nJSwQXsX0GsxQ018fOqer9MiXCcWyokcTg8/pm?= =?us-ascii?Q?xNGSUKCOEXxSJ5TRTBv8rfPDMzPTUcxDMF2mh2OVOr859JC0LlRdewveKFrh?= =?us-ascii?Q?LRt79jN/eppKKWcadWYlkZmm2cDpiVeq5TN8MgN8qBAnM0oCedGFf8eSel0k?= =?us-ascii?Q?qgDXjxez5A7rw7CPvdJ+l/ImKWKn98VW7fvXiHa1Arye42CWVAASCd8RWlKF?= =?us-ascii?Q?I6H+Dt3T4MPPTSG0rTXmnsccdE1xw+i8tnzJRVvu/p5RzlS6j9AHmVzH8AEb?= =?us-ascii?Q?gEeMQpKsqaIunfaVo8/yZ/M=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 63812d90-75a4-40de-0562-08de2d95b317 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB7975.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2025 09:16:51.5531 (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: n+tWCDa3YzcN0XvYVDJD3KsUVBT8ZmDsWtVs6cfrEgyhQvFa406QRcXcRB/TyxSYrKpP8/dLCxfGvbVR2e0RmJNbXvCwxw9L9PTMTOUbTFPP3ZIHsgON6V66bv/LKdHL X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR01MB8977 Content-Type: text/plain; charset="utf-8" Save the idle_stamp at the beginning of sched_balance_newidle(), if it cannot pull any task, set it for rq->idle_stamp. This patch does not change the logic of rq->idle_stamp. Signed-off-by: Huang Shijie --- kernel/sched/fair.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 769d7b7990df..c1a8fa043156 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -12862,6 +12862,7 @@ static int sched_balance_newidle(struct rq *this_rq= , struct rq_flags *rf) u64 t0, t1, curr_cost =3D 0; struct sched_domain *sd; int pulled_task =3D 0; + u64 idle_stamp; =20 update_misfit_status(NULL, this_rq); =20 @@ -12877,7 +12878,9 @@ static int sched_balance_newidle(struct rq *this_rq= , struct rq_flags *rf) * for CPU_NEWLY_IDLE, such that we measure the this duration * as idle time. */ - this_rq->idle_stamp =3D rq_clock(this_rq); + idle_stamp =3D rq_clock(this_rq); + + this_rq->idle_stamp =3D 0; =20 /* * Do not pull tasks towards !active CPUs... @@ -12989,10 +12992,11 @@ static int sched_balance_newidle(struct rq *this_= rq, struct rq_flags *rf) if (time_after(this_rq->next_balance, next_balance)) this_rq->next_balance =3D next_balance; =20 - if (pulled_task) - this_rq->idle_stamp =3D 0; - else + if (!pulled_task) { + /* Set it here on purpose. */ + this_rq->idle_stamp =3D idle_stamp; nohz_newidle_balance(this_rq); + } =20 rq_repin_lock(this_rq, rf); =20 --=20 2.40.1 From nobody Mon Dec 1 22:05:12 2025 Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11022092.outbound.protection.outlook.com [52.101.53.92]) (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 E804532936E for ; Thu, 27 Nov 2025 09:17:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.53.92 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764235027; cv=fail; b=pUe9/txd8Bxtqoy9EhY0co5B2dCWpC4GGhVoA73qZGdsD2ozWwJ1uDJtU5USgwT59kFeuKrv0Lo3FvfWnjw5ZE9WauWyervDotB+2uSRmA7IxIBuNLyA77I6g5QTk8jMj1TGcHfSAqgsNpZNBtVV5q2yMCWSK7nhW6Avdg3wzsQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764235027; c=relaxed/simple; bh=SRlgOFKAqvlWN92ZFG0R3PtEvyNUEI2tYCOE6MFY84Y=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Lz5QXmrWilAQ3tv8gI8Q+F2XzeYZgQZcxNCObwzaXVfOfELKADyfiC8fveNOPijInaCpIeW+bKfJ0CjIDyMRK/ESgEgTpI+Q42JZDJBOftOiv9TCaSwL0ozbtZVoAMbkNTqPkMYT/UTUxb3WiOeYFmtSbc45+5U36vcfzugkevg= 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=WUhECcSt; arc=fail smtp.client-ip=52.101.53.92 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="WUhECcSt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VJAPh/rraGGpSn0eZqsEiukY5//so6p5wxq/Trrz9CSMoLJ2zQ7qs3Z0SKGRge6lxyuhWIDDw2XWJa8s3zbjz1dwwaGMVxzOo6Si7DGq9eXRlba4jkfOU7tVzRUpxQo2lIgqrTb5QAh/8cTB+ohfAfgCZkJqniGrI7SipccwFByV3yEZUnK2N84nlgSW0GNGs0Z+EuDOr/bRhq+WScNI0QTbnC/1/ekpYD/OjLzV4IBQOFl+3D0z2S35UH3gx6Gzr03dQXdN3R+b2j6f10DGsNo/T4CZUdqJZxnqPLsa8bjCLu6cB+Ub098Kgo0w0t/HRNwmo31pIAy+dPB6kb1Iyw== 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=Dau5aMYoYyrYMoNbnbOnOFHzLgx6TcxW11f0fPds/hY=; b=FLN7K1hF8+NMl8ILc5BWJ4qDV0rVEiTaKVh8FDDyFNqwF0aZHkdAXH5yMtpx3weAtgVAcD6mXi4ecINhXo4G37e5OM6aaZ/1qhfyPUq3gWxJ16Nii3572a86N+CRqTQrPzEVp6ohj6FI3Iu22T0WDL7rUI/1aMLzVHVhwaPOO6pho2KPJy8zb6gKrkP9IuGE/4tT1y50kHx/z4kYdtcYrQl/Nl9xHF6bhPS7fYxMfx/X2M5QIzm7VpyWWLbkDB6rNTTmBjjBEi2G8C3izANz0uLoP5/YBZfC+lshqJ9KJS3Lel3uWv4WSAWkReQG6w6diZj4dHqr/wcv4g5DwkpQJQ== 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=Dau5aMYoYyrYMoNbnbOnOFHzLgx6TcxW11f0fPds/hY=; b=WUhECcStXXerJWt9GJpxSmvaTG0eu1dXrB0MpmBAylBWfOt6bLXNlC745+N+h9cF6X86bl8AgfYG4LyMLPXL5CxVG6AlEemwgnQWM1cNwrvkPf1god3CCYhzKAlQ/vijOvANpF5xDwhjExIz8kr+54RLD1SHrrUUP+ofl3t50kk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from PH0PR01MB7975.prod.exchangelabs.com (2603:10b6:510:26d::15) by CH7PR01MB8977.prod.exchangelabs.com (2603:10b6:610:24f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.13; Thu, 27 Nov 2025 09:17:01 +0000 Received: from PH0PR01MB7975.prod.exchangelabs.com ([fe80::6926:a627:118e:8050]) by PH0PR01MB7975.prod.exchangelabs.com ([fe80::6926:a627:118e:8050%4]) with mapi id 15.20.9366.012; Thu, 27 Nov 2025 09:17:01 +0000 From: Huang Shijie To: mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org Cc: patches@amperecomputing.com, cl@linux.com, Shubhang@os.amperecomputing.com, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, linux-kernel@vger.kernel.org, vschneid@redhat.com, vineethr@linux.ibm.com, kprateek.nayak@amd.com, Huang Shijie Subject: [PATCH v3 2/2] sched: update the rq->avg_idle when a task is moved to an idle CPU Date: Thu, 27 Nov 2025 17:14:50 +0800 Message-Id: <20251127091450.250797-3-shijie@os.amperecomputing.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20251127091450.250797-1-shijie@os.amperecomputing.com> References: <20251127091450.250797-1-shijie@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SG2PR02CA0052.apcprd02.prod.outlook.com (2603:1096:4:54::16) To PH0PR01MB7975.prod.exchangelabs.com (2603:10b6:510:26d::15) 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: PH0PR01MB7975:EE_|CH7PR01MB8977:EE_ X-MS-Office365-Filtering-Correlation-Id: d5c3d164-4d0c-4a11-1f40-08de2d95b92d X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|52116014|7416014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?sJQ66LkcqC+pxyLJdJaQCVKhJm2qIkjaWi/jyb3Wskq/IMUQLhEUrvqPGDli?= =?us-ascii?Q?ZToz6b3hAwlGuiJq9smfT8RXY+98JAAIGcII1uNK0rTPC/wwZfjuHurPn5pv?= =?us-ascii?Q?F61XtYDqUjR2ToOu7R01nx/esxOXvRAsS9hQWBt2GSymkHzfAd7lmCJ++bAn?= =?us-ascii?Q?4/b2rf9IkQDOOt0ivKO+TSIVWJPsssc1e+EaCJnv9epcYQ8XVrrTVLw7BAhC?= =?us-ascii?Q?eVPWXpLOzG4XhCkfb3B1h7qmxGOGZoaApF4KSyypvn2f5VZzsiSYll3k7I/V?= =?us-ascii?Q?p5FEHGkkyDIkmoo7mIk0aHKsrfcJqOBlEfRRRAkkqc2k4pCt/o801CzJO99U?= =?us-ascii?Q?WvGV/gASwT42IRM7kkwCU4pEb3YcpF7iD0BVqHlUDdXzRnmv3Jq4l80uJSwW?= =?us-ascii?Q?hj9JlH4FM9h7O+i6w4RfwuQeeA6oS/VsldZwlc4fiU6M4dEVy7afh665Wfcy?= =?us-ascii?Q?jKITuwpVFcwt3YHc8yOYSp1WVV6+aTNlMCASHuXHjgYHyoQnbBDTElTrikP8?= =?us-ascii?Q?/g6UxcOKRbkPl2rGB0sTyfvT4iy+k5HMDMF0RVtRKatizDBVlC9d/n2r77jE?= =?us-ascii?Q?LipJzLwc84XeoBFaVB0qyuQwxjf2pAmS+N/jwaXnF9gMifnuuQIBaGAqmP5W?= =?us-ascii?Q?Sbzdm8/aDfemMKIFx+OoM3IrwVCF/PMc0i+hKZdiCp1j4F+DwgWmPC7+ljxh?= =?us-ascii?Q?TDNlE8ZkRuI3O9k6WNOUMonErkH+jubqiWURkhZ9aP5O44j8ZcYA6tqpTPzY?= =?us-ascii?Q?Bs/QOKUCXfXnmsvXKY/9Hk8WxSrC/DuZWHDOEKCaiE0J+kHJlCMLa7nOmJuj?= =?us-ascii?Q?PgJWyopWzS/8G4eTbKLHSpW2mayZ4asWjMLsDkKzOs4iRM9Xz+7e8Xa90Sbh?= =?us-ascii?Q?pNCjkBYdC7A5Bz9rE3gAtI/mQDhg+8KpNAX2qddwP9+JJc5pHnWP3LMKbY5G?= =?us-ascii?Q?fuqtvmmAR/p2ATV1jiwLDePCxdIaHyWRiJkM4wpt6+heb7Et0C0AWxvwIvFH?= =?us-ascii?Q?P6uK1PCizy9J8ZdP08AIx/e2Bpk6mzI8zJkSD5bubKOM4R6gwBOxMctjzZOw?= =?us-ascii?Q?ph9WICSLqIBZyPk4sH2AKtOV0TV/HfjAsLGebpeCuL9l8g6BIiqrCL9rJuxe?= =?us-ascii?Q?5uyJIidkN+pCbDhQHXpqv7cBDE0qPifzvf10HH8EU3UOivMC9hjdAMDh9Fkg?= =?us-ascii?Q?/c6hx/YoKScogyEcETx2QFOrF83bQ4NtIDE0JWSt6Yp6jCmfEbTdk3FPD9SW?= =?us-ascii?Q?j9ROrqIQQJDclgzxzuClpkN/UZy9Pir23X3dgospBYnx4xMCLPSz9YWbjCf3?= =?us-ascii?Q?YjRh3T4ARl09lm1lKxwjaShr0QSv2K1ftYrevaaOMkS38QRcfIjdtsKV53rd?= =?us-ascii?Q?3sBBjxS2NH0AkHF9wCdw2m+qBfk9oqnCc6n3pezRJce/USS79uc1bfT8t4bt?= =?us-ascii?Q?6hIRMSJLMv8uNGbNoNGQy5zmvFg/qgWPB8toWV8A7iDOKmInbEiwUv9guNKe?= =?us-ascii?Q?6P9VRSegQZ7LCUtFJ6AW/ZFuTJtpJJdIWKhW?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB7975.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(52116014)(7416014)(1800799024)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?g4qfbPai+nI1sTaHJFl6MQDhCeBmzWvDXrmZenwlvuJWw6fWIgk5JDqs5bjj?= =?us-ascii?Q?aeP2htfSaXwy5DvE+oZTLiB8tE1RdcadaRWsopgN4F7XGPKcSfo/PFAAjKPD?= =?us-ascii?Q?TUWLd/b8BOb+Qn80OZ3HGy7Bg8uJuU53Cxrd64rwanmV7yPjc+m+vKS2iYTp?= =?us-ascii?Q?k0YxTuw+FufrXrGtEVbY+hwFiHjUVdX1VWLw1T+QRgrrhl/2yBIqvgclP02Q?= =?us-ascii?Q?t8AtcZoLLuN3Uto+XfArWjyIxXveyjE5o3GOGRpckiBRXR8XEaG9QcosdpQU?= =?us-ascii?Q?s29wQ0QhN4pBI6jqLl7UIJuCyYrOf3u6xAoJzK2zRy92USTD3ilBrG87gn6m?= =?us-ascii?Q?KF4PH/JVi6djEqmFe4JawLhjD3pDNW2xRgXP9hrb2nEFbEL2UcDW+dg1r7Pk?= =?us-ascii?Q?O9nJYLGRqXOifWao3rB4yBkkD9At6zGx4ssE4Pz96oaYJIT/ilznTKkY2Dcz?= =?us-ascii?Q?G8v9WK1U330O6wEieffhJXSVlqp6yNv1jDu38HtlZX92sXMhHbD/CshaJhxk?= =?us-ascii?Q?O9K9VSsQHGKXVZTh01VcmHZJ92vDqUxsXnDjNkkjbH28Bt4cegpjKmdkhA16?= =?us-ascii?Q?pq8BgMLe21Ydhr6AYMdVUtNd54Pg8bYm+sPBPTEvYqh4T9o0w3KS8yJgPR9B?= =?us-ascii?Q?pmxHknsN1px/Uo+r0kTGZKeMzN6HwluAj+UjaZJW6YK+xNrSxBqb/rxIZshK?= =?us-ascii?Q?JguaRrrhMIpQc8uZ42MYET6TwVcOH9Ynuwy1SONeSuVSneVPNRC7k12juvJR?= =?us-ascii?Q?JiORoH2tEa+EbYSN407azGC/xcXxOOtWP0zk92XrWaUWuiasStE3Ynuyerj1?= =?us-ascii?Q?V8gFUfFvL9qwblhVdx8LVM8LD3Cl1apZ/SU3wnUha0TIftS9K+p2ypq+zlal?= =?us-ascii?Q?staGn/FNiCGOEy4knaFeBxv6jYCLUYIDqM0hSbSNcPNsadf1UZ6DcXeKdvw7?= =?us-ascii?Q?/KG8ebGr4vVwklXKSDBUCCOtD4WykVtyYUBOF0W2AYi2M5O/6AHMyAQeQsB3?= =?us-ascii?Q?se6cwVC/EW2lwjpGB4kDorsMRkcVR1UV7nMho//pZF/MbO2WHmVl4tCIvCuJ?= =?us-ascii?Q?yK9EjpQTnF3TRu/xLjXjAOi6/XpK2sIXqrq4fNbcS/u7YUkr6NuyX79KI26i?= =?us-ascii?Q?wvWaU7RcWy9yqiJPIyjwuHCE6zTuWFN3jDca3rrDu/x//svX6HyhajvNQo4R?= =?us-ascii?Q?IlG5lr/tu/+W1WC68nXvdNfHaRndAKcIsyNujkzn2chF6QibTkhVn+gRAHcf?= =?us-ascii?Q?c5nlJF78eZTL2zBkMKrD50/VCoCIToAECAA+wftGv8zRTgyaRXg91B/CdOrl?= =?us-ascii?Q?Tg00Ef14ixz+CwHJYlBvIIoHF6qV+BszJBrVQmh5T/W+oHxHV3tMCxGHaN0f?= =?us-ascii?Q?TUGTOGe5eJephg7lXwfFHcst9kYmBkCKEaBDE4BLEZMNcZ8cp0na00lod1M1?= =?us-ascii?Q?JUi8xUgKiXJ6pAM8xOKYrnWffqsIkxpB25rsbARSkh2Xl5rNlKGcThntZFa6?= =?us-ascii?Q?5zQHGRggxEjo/iwpvlBmqRA10XXd5g7Zls+0rrdiUi/1heKlL9j0ypLKbTnu?= =?us-ascii?Q?OPXSxehNR4w9CjycttItB7sQbqu0+cTvos1Cv2pWWVu1xoPGm6JtSf/4PoJS?= =?us-ascii?Q?uSnb7REZj7nTNclGjZmifJo=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5c3d164-4d0c-4a11-1f40-08de2d95b92d X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB7975.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2025 09:17:01.4706 (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: GBzOEY8Yhm+A2W1k4yZQuZvvsdD05Gchnp20s0qaAiamGuHDoSrHD3Aj8uJSCiX+xUtEAPPkLq238CKEQ0GXRLxiEe69kXs36w/cwLwkTUypaHqcG1YCp+L36v3zvqi+ X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH7PR01MB8977 Content-Type: text/plain; charset="utf-8" In the newidle balance, the rq->idle_stamp may set to a non-zero value if it cannot pull any task. In the wakeup, it will detect the rq->idle_stamp, and updates the rq->avg_idle, then ends the CPU idle status by setting rq->idle_stamp to zero. Besides the wakeup, current code does not end the CPU idle status when a task is moved to the idle CPU, such as fork/clone, execve, or other cases. This patch introduces a helper: update_rq_avg_idle(). And uses it in enqueue_task(), so it will update the rq->avg_idle when a task is moved to an idle CPU at: -- wakeup -- fork/clone -- execve -- idle balance -- delayed dequeue task -- other cases Signed-off-by: Huang Shijie --- kernel/sched/core.c | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 0c4ff93eeb78..8531ef68ce76 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2078,8 +2078,25 @@ unsigned long get_wchan(struct task_struct *p) return ip; } =20 +static void update_rq_avg_idle(struct rq *rq) +{ + if (rq->idle_stamp) { + u64 delta =3D rq_clock(rq) - rq->idle_stamp; + u64 max =3D 2*rq->max_idle_balance_cost; + + update_avg(&rq->avg_idle, delta); + + if (rq->avg_idle > max) + rq->avg_idle =3D max; + + rq->idle_stamp =3D 0; + } +} + void enqueue_task(struct rq *rq, struct task_struct *p, int flags) { + int delayed =3D p->se.sched_delayed; + if (!(flags & ENQUEUE_NOCLOCK)) update_rq_clock(rq); =20 @@ -2100,6 +2117,13 @@ void enqueue_task(struct rq *rq, struct task_struct = *p, int flags) =20 if (sched_core_enabled(rq)) sched_core_enqueue(rq, p); + + if (delayed) { + if (entity_eligible(cfs_rq_of(&p->se), &p->se)) + update_rq_avg_idle(rq); + } else { + update_rq_avg_idle(rq); + } } =20 /* @@ -3645,18 +3669,6 @@ ttwu_do_activate(struct rq *rq, struct task_struct *= p, int wake_flags, p->sched_class->task_woken(rq, p); rq_repin_lock(rq, rf); } - - if (rq->idle_stamp) { - u64 delta =3D rq_clock(rq) - rq->idle_stamp; - u64 max =3D 2*rq->max_idle_balance_cost; - - update_avg(&rq->avg_idle, delta); - - if (rq->avg_idle > max) - rq->avg_idle =3D max; - - rq->idle_stamp =3D 0; - } } =20 /* --=20 2.40.1