From nobody Mon Dec 1 22:02:16 2025 Received: from DM1PR04CU001.outbound.protection.outlook.com (mail-centralusazon11020128.outbound.protection.outlook.com [52.101.61.128]) (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 D3D1F30F95F for ; Thu, 27 Nov 2025 05:06:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.61.128 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764219973; cv=fail; b=gXn2xlFhI6LAhyTKZAlFzciAQnN3g969a5zvO29uiJGDoxotmpRYgyQl76vu+EPvYgh441+0hVCXWWH8xTihuy7vqBO4kOCiceEP0WnIPIx6pT2FiSWLP2594D4VaWa4e7yiY43H+QlC476FUmgLMWCho5a5aji1hmRbenp9r7A= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764219973; c=relaxed/simple; bh=s6KddVXtoK1I5xxFaWnADOzpiJhtDnUQ4g/Js9iF/54=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=P2ds6CLPrDLNT/lCuLNTDkPaa97EU+YReRHcNMr/d8PP4caflupIv3tHjouuALs92wve14g9Qg5XXCKerAVL09YsvmNhBYj0cSKQEsQuKh7F+iezhJxYaWtM+dJtbF6jEvR1HqdTjWnkqCc0Zfdo97IJijsPzXIn2pqJmJwbOoo= 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=XO+N9ZS2; arc=fail smtp.client-ip=52.101.61.128 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="XO+N9ZS2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jwGpoN2hz0Jm0JX3BV5tl4Y7wj9WWaBnwphSVjvb3wZsfFZ8QuicW7Y23DXHQrAAiZZLAf0QKjEemG3mu0mmlJNpy39DbMFiYuMtTx1GTn9SpmZDzDgwTDqR8r8GCZ6mSo0fypR7iZydBtSOs9v8FMAdcZezw2UhjjiBt5RU2zmNLlnM43ExmLzx3DE6V/kX6xH8cehLQ63KxMdmd8IrrVTomx7fyre1dmpCrD2MOpOrFHaLqvxf0cfy16WmT0b5sBcvEyOKRGnAxuykNaS8kA13DQqM3ohNdUxaYnuL5J2+g67tw3RIzQU+1NqOZHtgMTwWHHwYjyof1I12JzgFqQ== 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=cvYPFVQA7NsJAWynnjNVIiOFFte/cQ5he9i1zNZsURMvJ0mQ1gCgW21ads4yp3J4IRq5g2PrROY35plLTyKOcmnjn1fYkOmeQFBGKHAsnTq/0mlDr/jIM3SmN7EMmk7P8MOKtUU0q1zDFZNe63XhAhjbOcGboazNcKLqAE1p85Nm89BZdhMQToM8NDmyRxTZjhFZ+pNemNRiJnAZ6Vjme1l6QLhfaLckC8ZgQibbojjZmGnCI2tXjGjre/6q8wr3Z0zbJIt/EPXFkhOpfHt8Lw1tdVZD3gY4z92cQBGQJuNCgzp+YJ3BZIPp7u8zrYbcSCrFUb20H+iOhif6pRmM3Q== 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=XO+N9ZS2BgvT90BZ7+lRNnDrchGiTLks38ormkH02+XgQx+wB5MW1EcTVyIj3m5NCJWcJsXtx09fghrxSqBRX7TIQOrxr2kdgWIfFHtcwJ1tXvZPHNreANS19DuK5A+lKPSRp4pi5p441ZGrxx9eRdUh4YaomiA8yXcIayzZ3MQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from SN7PR01MB7969.prod.exchangelabs.com (2603:10b6:806:34a::19) by DS7PR01MB9363.prod.exchangelabs.com (2603:10b6:8:24f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.14; Thu, 27 Nov 2025 05:06:09 +0000 Received: from SN7PR01MB7969.prod.exchangelabs.com ([fe80::5ca3:a44a:c242:d9eb]) by SN7PR01MB7969.prod.exchangelabs.com ([fe80::5ca3:a44a:c242:d9eb%5]) with mapi id 15.20.9366.009; Thu, 27 Nov 2025 05:06:09 +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, Huang Shijie Subject: [PATCH v2 1/3] sched/fair: set rq->idle_stamp at the end of the sched_balance_newidle Date: Thu, 27 Nov 2025 13:03:51 +0800 Message-Id: <20251127050353.1089724-2-shijie@os.amperecomputing.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20251127050353.1089724-1-shijie@os.amperecomputing.com> References: <20251127050353.1089724-1-shijie@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KL1PR01CA0019.apcprd01.prod.exchangelabs.com (2603:1096:820::31) To SN7PR01MB7969.prod.exchangelabs.com (2603:10b6:806:34a::19) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR01MB7969:EE_|DS7PR01MB9363:EE_ X-MS-Office365-Filtering-Correlation-Id: 7cb36884-a889-4fcd-78c3-08de2d72ad1a X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?1DVmpaGH9fQsvIk0gPWMJaefmkQJk7O8c446ZnysPNIfdqBF2bjftxYBvxKd?= =?us-ascii?Q?RlRzEa1TEzHPA/b/5bzraG5PewRXICXz+oB+qHDu6sihlESjgitCQdncFiln?= =?us-ascii?Q?7LV8i2KdGJoAzLwV4hkdV4cbchDuKSIvKJVwhJNz0hFV+bqbHab86yonHz9b?= =?us-ascii?Q?56PE+inOZx3z0kcnBd75M8Jmq3BxI5bfaVseY5ZcCWyHe9xIFRUxYtQB86zh?= =?us-ascii?Q?aDyn1vjicBes6yQatWlFu+M9VRQLwwcf//Qo7i5vACPIpDbqrDb3jxvQ/0Ih?= =?us-ascii?Q?074Es/rkz7KaoCG4CMmbQVx6M+TrCjzJTug4ZXCv8bs6yrRTzvH3kTc4HjJ6?= =?us-ascii?Q?rqtXJx3M+Lusykl949dk+M0Z+11GdNC1WS+CSWtW4BA3STn8/FzUJYnXkb6s?= =?us-ascii?Q?MhCkgbLSUIs2H2Ig8JW0yL1LefJFfu0FWviZHaQJ08S6mbIC7ygX4xYYVjQp?= =?us-ascii?Q?bseeeY37gxmBU5m9Rj2x8Bzb+goay4eP90Y7sllm7ViiKr0vJL760j+El81Z?= =?us-ascii?Q?8As/4ocwgtVCJMd5iMdnBSCAZ8zpt6gUoocjBpe8YKS3Wm5U2bwbrEj0t/DG?= =?us-ascii?Q?BIPka1H9W0dGJ46kSvl3z91zoT2JyiRtFxH/ZCixU9iIoZbZN7fPMEYnT3ft?= =?us-ascii?Q?s0MP0GJatqjc/ihD6Ct+f5peObbwwjXTC0GITNhpsyDrB7PeTDk3NW7dyAJf?= =?us-ascii?Q?D5r5/enPGkLrJsaRZ9Qwk7qz+QLieGofpEVVgoknIUOeR3pnvYDim0BCqEaD?= =?us-ascii?Q?ws7o4p2a+cw1MJeuczC2WpFCPtp5zZnL6dLr/wX3teHYID5rDs+HPMqqAwMl?= =?us-ascii?Q?cYoGDJIpv/H//0k0n9Wyb+gmD8Qbzc2pyB3A7cCkZM3EQUpZ+O6/y80xwItW?= =?us-ascii?Q?b/cc9dedgq+OaJXuKPurxngMTRpeYVOUsYcWPpGwI7fFo9Dg6xBKJMt5hEmP?= =?us-ascii?Q?iUo1qHeZqE42MId70KUw5XzcHEy+YxQEv2oB4sGjfWOabfD4sN1kQwS2X9o7?= =?us-ascii?Q?IgoZT9zHPPfJBVKcFz1c0WbV+N/AtY3eoYVNxWOqRjufL1/Mpy5C+N5Pucv2?= =?us-ascii?Q?Y8QdAUCpTo38G+TdcEGgnJWPaJ6IH+WDwC/iBWoB1dQeC2rmGJ1IrnoOj/ip?= =?us-ascii?Q?NqzRCx4rW3aHx+42Gxhh3yxXYEqq13tyMyvXw533BdsCeaQMVThIsI1oECby?= =?us-ascii?Q?rpa4AU5NwOJJYlNDVjuT+7jGbjDyPcW6ftrbBBumIhSOtPkfEg6siitTKnHh?= =?us-ascii?Q?DMN8Oll8OCSe9Ow9Sm9bt4+7Z1HR8LcUHIop5wdPV6nO4gbyrYTKNUOyfY6p?= =?us-ascii?Q?Zrkq4KFIJ+HB0TTNO8Xv3HQDCMzmX3vJ3O+apB7w3dFnrIY8+hbKttnQeVxU?= =?us-ascii?Q?SbiqeQ/yriGZO19evEW/RdICRcsU8A0rfYyylZOkn3cM6m89zI26W9i6uVLz?= =?us-ascii?Q?D+9+L+w3D0lb22bKwd5UKviHqeLPS6+ZBdVUoHwqPEKdb/ugiVng66p0y/kn?= =?us-ascii?Q?n4dD1pf7FNN4otqi0c1S4TlcyItzHEJqW2Vi?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7969.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(52116014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ObRaf+5/eyJesFZBLYnclgmsbWLOPb5l6sPxhCAuVPhDcoDaB+vVFIT0fMgd?= =?us-ascii?Q?QuINdSF6FA1vYmpWL+CyVk7RIMTzCwxFVx/VMPydHS8W49YslUA72u0Rsa13?= =?us-ascii?Q?Y2EJnWI5TavlmfNh4iAWSzQNqLnnnuGCjhMj+QMcFr2XtgCoxI/xZRhOl8gR?= =?us-ascii?Q?MVuusHp5KCq5G1osVaiUneKMZpf67AtLgsXObi9Uk0fFD+urFuDml9IR1CeV?= =?us-ascii?Q?sJ6OxM/7qFm/K/PeqCdaAYpeC+KPgRp0MPerkVYsYfXl/JFKwTgFXXtoymih?= =?us-ascii?Q?uMrVp3lGFOdVvSi5Vl364CXNAHb+dxkmaiAygz8vek6vbyZlJU2ous+ZbDvv?= =?us-ascii?Q?goj8/2gQM6ISW5nsG/txZFhvWwbybsZzEpDlc9XKkx9/fZSGmJZdibKmnHkw?= =?us-ascii?Q?XzIs1z1EcdmWqNaWZmpRRbUCJNAG8kGkhKRbn8JBnWLIQmqdwkPNU7JacYBd?= =?us-ascii?Q?sZ92zjFcCV7Y7guKUDSlK+stJ5CwxHJJj4glNEkZMf3bSlRqzK3aDSXwRoVG?= =?us-ascii?Q?pABQmPBleM+oNLifWtxeAZ58MB2uDloomK6Q1lUaS9Rh3Fy1UFcwBMuKY9gw?= =?us-ascii?Q?d//iOUR6WOELbVJ8XI5kRqSo2iobhImeOjN7zG8gr6WmIsKv5mMmoOlmC7F6?= =?us-ascii?Q?FXNWDNlZSJ+tiQzJFeKtwWCKJHTlYMp+PfyA6U7JhT9MUgQucMnCjHgrWnKj?= =?us-ascii?Q?gco06T9Cq/QLuEMVGGSlXBlBmBQ/UMkq9kGcPen0wBeTMr7NMngYbfEhlI+f?= =?us-ascii?Q?KPE7vVF8n9w9sQXkuu/Tv0q4eyU2ROcLEfnUEVNGismeXPdeG0sDy0jzRF8Y?= =?us-ascii?Q?/i30aTLXWQ3QQsSunVWFBqyYw3VLFBiOdZC5NcEFRXL+mjtpY0i3Ujou8+Bh?= =?us-ascii?Q?jqGcJFLHd077YonDLff13QryYwW/SOg1oMtkGM2E2OIhGXAIhUOap55N/WMF?= =?us-ascii?Q?Iz6J3JCKdRKlStDhoDBeDz6Eg5fY4fTMHDwc7s30GCgqEh9nDiMv7zKMpH7I?= =?us-ascii?Q?3E60wMbqaIcSzLUM2WzmdE2A8Kps7IRrKZlS3ojV9oXynuIzD8MiPNEIg6qs?= =?us-ascii?Q?DfMdFUZH09Vr/WK6g/hkNClpcB5kI7+VUM5uy01wMz0raL0W6sW1NDDpmfo3?= =?us-ascii?Q?sVw3OyU78UxW84Wzb19fjPqF8excJHx9jFnqzxJx7hQjn4yE2GcNH7WqMedh?= =?us-ascii?Q?qL7LCs/FdksooOJIB/+otoh7Xq1kEBDcaPRoCV0MVWUR1Yjxruegig13iiFY?= =?us-ascii?Q?Y0dTwpDEd35BM71B6YU/RT1UhLxYdHB1n0JEaWQhAiMshzcghqT0swG4XAXj?= =?us-ascii?Q?hN1x6uDjewr51HwXXCoTd6IShyb1mC+Yj5nXGZFit4/t1SYNbpOTNddnRwol?= =?us-ascii?Q?lbHD5CHsAzLyAAQNQPAL2N4P30B8NX12RRZEWysOCpLO8lO0yvFsa4LGtD8D?= =?us-ascii?Q?J/YluJlzOO5gwfkeEm3VFL7I1xz+dUuOBx0vYLeGIXoT2TdZiejoYkPnTZUB?= =?us-ascii?Q?V5+m1HKCTW1vyVfi9caTYFKDjUGO09NN+iFsmnv8srGxVd4Cyq14HC/OW2FG?= =?us-ascii?Q?nxlAft50LChsrNL70M7jx05UXjcUWjhqx+arR67OjTxEzC5IzXnGsCMsDEio?= =?us-ascii?Q?/1HGmUl/pz2FXUzGPcKCXn4=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7cb36884-a889-4fcd-78c3-08de2d72ad1a X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7969.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2025 05:06:09.2365 (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: 9gOtCllchBjZDdtwwWBOLUitIfox/mOp7/Rfai42zus6/RGMct8RhnDF6rYNIhfSamiaTS23RMcKZsMPUnomehNLM9msCRekS4mOxaN4eRsXYv0Cft4/6rPaIFA/CGWR X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR01MB9363 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:02:16 2025 Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11022136.outbound.protection.outlook.com [52.101.53.136]) (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 BDB102FB632 for ; Thu, 27 Nov 2025 05:06:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.53.136 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764219985; cv=fail; b=rJOmXNUUZH8hXcyjizKHBkNd/dvxBU71c59d4a92Gm5aglBtJ70Ru79ACwK7fcXsK/dLsaDLnsKLoXy5uhrVlHvFTMwoC41o3Ee9j+uzi+pqWNW0+rQuWsk2EH4Ag+UTmG/Ygis9CHoIx6aUVdQPrFx9Ts2YdYXIslpXsP2lwXg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764219985; c=relaxed/simple; bh=TtoAUidqOuyXFf1jY7nRcUatatYShYEDVqqsOg998fw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=MGeXEE92IEFMyDQ8dqsAkW3DNNQLtqymWlncgwpm7V1IIGBUgWdFUUvzYfAjEAUBEnRscjcydp97rrJYKQhpHWX42HLCcXpji9WSBfpKhU/g0pqCKmjzOeazIQKeJ3chLmVOamUT5K/Yfi/ZIOk58JYbkzJnXWpTvFj5/HvL84g= 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=Mr1dhyJy; arc=fail smtp.client-ip=52.101.53.136 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="Mr1dhyJy" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=EIgOrUaeefNH52VyNwcNpswK2rCkCIyriCQZ4pKry/EhMJKaWu5nps65EIfeekFu7VTkYnP0Oi+5sB+q2LnS2ojdMrWXtJoPJi991Wa971zOR1KpWmqshAxmPDLdQGFNjsTJEw+aAB10vlpXMfqCNkFuqpl4AXJBUE+4XEj8+EeAZPUBpZWG1t793TUZ4WBJGOdpYS9B5gmfZjPBEfRIkIci5B7ODIrWWe+MRl1aNK1+cJ04UFlcwCQ6dTOjtI0fJk9q5Fx1jMZLQVSaAmmbsogqbQlex4LlHfdeSFxEEVrJ1G9UBhdAXndTS7DL4YB//YdxYqylDdK80w1V+FkagA== 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=nyIAgyS+OKcdVyKHci/B/4n/bzMZJStRD4wvrJ89PaU=; b=RAmHrAC0jCX5SvByCfGpzkj1lrLpSd9ooSSAWbcQBK9VovCSyVYccAske+iDl38z93M/7IXA6huWizEhoq4LlK25HWCahWXCQ0XPiy96QMEOMTYeQZXJGMTyqVjzBXWUdVP/6HO3LsSOuQcatjGCSFy0P2IVxcNtho7piKvV7Sk3YgEr0RG125/GKMKegkMJV+lbWyvMCPsNpkzFntFLshgKxQqBBuDPAxffYnbI8YRHVsVqkAafGkE+ovRhSaGYgiJ62axG3G/WHFJCAOk9xp6foOtQ73H6zNBKwaepdYIh7VFmAZY3IqpZI6ai+zQXyNCqX9txhuHsM59Hi+0qBA== 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=nyIAgyS+OKcdVyKHci/B/4n/bzMZJStRD4wvrJ89PaU=; b=Mr1dhyJyiauGxMU9IfggtMX8mktwMvZpNPFzrlaneVeOjX7Vr1QlSBoHWR46hbLLQf0srSsNaxseIFGOdWJFMIkhoDufM0dlkRVtQIMBwzt2hIaSgq3d7g0PgpCzMpfCdUerHUvupRGDWbQGXv0m4+7RmcMVV3CWFjgAgbYptl4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from SN7PR01MB7969.prod.exchangelabs.com (2603:10b6:806:34a::19) by BL1PR01MB7554.prod.exchangelabs.com (2603:10b6:208:385::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.12; Thu, 27 Nov 2025 05:06:19 +0000 Received: from SN7PR01MB7969.prod.exchangelabs.com ([fe80::5ca3:a44a:c242:d9eb]) by SN7PR01MB7969.prod.exchangelabs.com ([fe80::5ca3:a44a:c242:d9eb%5]) with mapi id 15.20.9366.009; Thu, 27 Nov 2025 05:06:19 +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, Huang Shijie Subject: [PATCH v2 2/3] sched: update the rq->avg_idle when a task is moved to an idle CPU Date: Thu, 27 Nov 2025 13:03:52 +0800 Message-Id: <20251127050353.1089724-3-shijie@os.amperecomputing.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20251127050353.1089724-1-shijie@os.amperecomputing.com> References: <20251127050353.1089724-1-shijie@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KL1PR01CA0019.apcprd01.prod.exchangelabs.com (2603:1096:820::31) To SN7PR01MB7969.prod.exchangelabs.com (2603:10b6:806:34a::19) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR01MB7969:EE_|BL1PR01MB7554:EE_ X-MS-Office365-Filtering-Correlation-Id: eab82436-6671-4957-8964-08de2d72b351 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|1800799024|52116014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?VFejjQ+qI5AOFiOcVhCyowBDMj46Z2aSaTtgnSC34+NrNFtPxR3RXKYO/mCV?= =?us-ascii?Q?EshuVrkDz7ILKGSBv5P7uT/UCxbYcCYGqV/3JAgSZu8wOSzWNUDhOo+spxEx?= =?us-ascii?Q?iAMnmbZG3kmc6DXREg6ZuTZuT/w0PTKVTydE5DHpB8X0529JiUeI0BoAyHDP?= =?us-ascii?Q?yUKG6AQhi71cqjrg3+siGKA+BoWaEDNTC2PAM9PLNBDJja5HBrdC3fdZl+p5?= =?us-ascii?Q?2ze+TQL2RCgURWIz5hzYUcBKNQ5U8WHfG+kohNtI7+TrGbezyr1C5ubQM+Ba?= =?us-ascii?Q?AP73m26gJiRaf0k/eQe6q37TNvziGqn2WHZD9b5R929/WKhzuF9AoHGoPEsb?= =?us-ascii?Q?erSrGamP/laxenY44TswojbR05RL1xVSdy+DzijYN46VA4a/VFced0PvVufH?= =?us-ascii?Q?wROGUPk7NEQ5EvlfSMu0evxjywkDGmRPjcuG1YfHwWw9CFzz8uaeRTgjX80v?= =?us-ascii?Q?qUx6ylb2bPZpw5LdhNzFj0X07lZ7B06wYUxRg96pyqLr0RE9acHBY15LFyDI?= =?us-ascii?Q?BhBPN1jk3n8RtL56OlnPpRD2Ri717Tgx0iQrFhcj99igdo0uRi0sFwbuURYy?= =?us-ascii?Q?fqUmaXgFYkhCUnhckmblrPzdU6sneza6TnD1Rtpn63Bq67YUAn3HUwPbbbcL?= =?us-ascii?Q?GS0HsCJpurjidwyaS09K4P9iYDPBmq/s2sr5dn3TN+cTx/qdrWwJ7d8WNsL7?= =?us-ascii?Q?sSXJJ2J02egh98iM1PX0uZWxKQk0KActmT1NrESibDFVHHGbd0EpFkKvc9ST?= =?us-ascii?Q?k/BiH/EFYKa8q9k+ujccrW5eBTdgLi4XecXxAXRg77dpkX57yBSF+Y8HqOfY?= =?us-ascii?Q?Fot2jP5ru8KUmX7QiTlr7ZRSFqmon3h5N3hyaC86MfNLmjJ8VBisVCXERgaS?= =?us-ascii?Q?H5YTIvT5xi92lFKLnJFviXTavzMGVi+EvSQw8RE2xnyk6GlguOonxuP1OpUx?= =?us-ascii?Q?no6Y55GqI3DgtaIaPCb0r5PuNETJqUnCtevUBWsrDUAaBGHO+dqON4TeuJQx?= =?us-ascii?Q?5v2zrod2+mb4zbsemVvjSSmslE5qFsVUkV8p5GMA/tULTYJ6VuPaXhwXVqNK?= =?us-ascii?Q?GUJH36kAGbIA2GYmcokAIU6Hbx4GpHfBSDbMMLBQZji0sxlQLs79+sl3OG1Z?= =?us-ascii?Q?vMF+VZZxPsvJY1rch7WRfRonueRkm+xtTOhRo1pjIh8neadujuuAAKlqMYXl?= =?us-ascii?Q?yc5leGIsuu6UZYxKWeufrbbibrLfvKoF889n61ji4AnPExOjEk4VLHloL+60?= =?us-ascii?Q?00e9BJWXRqQ+0BDYmk5xLxiuwNJC2Q8m/ZjwQchYkM5fE5nxT75ItuFc+V8m?= =?us-ascii?Q?7Lx2VWdkliWTxTIF3JyBV1gHlck7dX6PvArgik0SyFRtpLSdLXOtQwtEnMVM?= =?us-ascii?Q?XxY2/KgBaSKnOMrjBWKnwXZFggMXmTFwhwyCZPqOjAqz2CVlDCeaKmh83g1r?= =?us-ascii?Q?WX6Cg3xKcBp+uOTm+ZWcVOdhA231ps5LHGl3TF1mzr9D9/ZKXN1zObdosAQe?= =?us-ascii?Q?7d4ezurpJhMotStKTY2PajiigRdAZnfvyB+n?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7969.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(376014)(1800799024)(52116014)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?56JcosJf+O9J+r300hYxkCGZQvXPv1grqvEuobNDAya8Eo03qVduSt+ZzrrD?= =?us-ascii?Q?FV/kgwq3iF/qris/8Qzx2YSE8HPLbgGI0P1sLHFIspE7mjCdvzRytI5qrDD7?= =?us-ascii?Q?5x5E0pSJWDgyVAs6h/+7i4yfq6gtCm1fw5I54BasngAOF7OfJh7DKCStRPhe?= =?us-ascii?Q?FDKcsKGqAaWtTSoUg4dOmGHWBsGvp9HnJ/UWzr3XJZxqDx9+KZTTS78T+yKI?= =?us-ascii?Q?WeeY3exGjJTz5epCWskaCR5x+V/2c0Hv/heGGYj3Bv7262ogCPMgWnspCEBQ?= =?us-ascii?Q?Jww1n60V5vUTUylC4JIKMuApcgMv5SgaAV3S1H6fI4bJkGrDey0aT+3EuHM1?= =?us-ascii?Q?jHZMkMCiKVE3L8PGqExhmupahMb39nfa/lctxNl6bOeucSiKNwDmLM/HRiws?= =?us-ascii?Q?HbcGzol7dK4DRiTuhTwMBtfMDgQW4n0wNerzbyT+X8+TnqPbKtxTc3nFp/ov?= =?us-ascii?Q?3ztPfAS9lXBtLcmmy83Pf4FJdedLBBEbECY0E993cfRNVvFKCLOMZ/XFbNbx?= =?us-ascii?Q?FDlu+W0wQjShUFF6B0cSExZfPZbHPgfTW61vRxXBM/x0aGCb2x3ZU1b0Nmqd?= =?us-ascii?Q?5QGP6f/xNeNDc+7ZlI5AUDYsb8JLvx+Px/ISIdGvJyUHZslxCvslaFW+n5tL?= =?us-ascii?Q?NngRaUeeUQH7YpycGvE1OoGwgxF4KpP6+XJwOrZ3zgavkRv25k7i3x8qXsMm?= =?us-ascii?Q?lbqZ7GIHASeekR/Vh5G8lQwG0F9pUMq/Uc+LNlymoi0qgtG363t9cE4RpI23?= =?us-ascii?Q?KlFTUGxDY6N/24K0+scoEh6Q4Ce2/ke3zZ5JZT1EbPOyDR4M+7s9uHueEu+X?= =?us-ascii?Q?auBdTG6ACCIpyx6ovaUn6o03hFTktBx24DVqfXXH9vDPXKOmmfIqOdKk8cYL?= =?us-ascii?Q?7xtchGYWmoMq7lzw52OieFzzzyRP3e+vi0sriCSgvn2LIwK7Mt3DORVoRpVy?= =?us-ascii?Q?GP4J9J0NDlhjctgYf/tHuCN6BcOL7sSjaZeDHDVIC5RlmgnA9A3PSUC92WQv?= =?us-ascii?Q?CPV8F1K5JFWG5aK24HhsxY+aQx1VSPcgTZraQ8YWmf9RQ4QCMfXmLsIIuIuK?= =?us-ascii?Q?/76gx9pDkzmt3av2IeFuISfO5iBHGdNJ2EvM4b7FQdKTDND+N6VPyfgu2NAn?= =?us-ascii?Q?SsjUuseM4whJSbDoWYPuybK8/1f6RBYjSXshNXkLmTw+J1uXht64VqR61XfL?= =?us-ascii?Q?z543Zctmcgr4cQCk5fXhM/5/D3YSd2znjhGbRIuN1k2QkBWxVE5ovKmSwET6?= =?us-ascii?Q?+aOptVhfUqmBIC/tWuDyfLMPXRrRxy5NrdNl+z76yGEUHem25MKScF5h3PBW?= =?us-ascii?Q?Yr4imtHRASFGx/f0DCG45DSF6bjuNovOJ3vOZslsafS3DS7rg9mtIzqdRE3d?= =?us-ascii?Q?c27T4T68NMQ8cjoNDOY8lhun3LmIsz87YDjb/pBS7iLaaoyhrRz93Uh3i6iG?= =?us-ascii?Q?CX6yRj7LHV+ARWIKBz3TOV4TWQFZcbMpqfpcey3SjFoiuFp71Vrjgca5PuSa?= =?us-ascii?Q?NwSAEqK3pgcb0tMa27Z7lOetH7InAuohK/1W17bWfIEJoPrBUicBizQ4FngV?= =?us-ascii?Q?7QrLY8NiwIyyr9um3a/goKcWgn4vdkiw3gJVKljQ2IPvdpQ8YsLHWoI4xVGQ?= =?us-ascii?Q?Aa0zz+CC9yNe6z+e4n4H8y8=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: eab82436-6671-4957-8964-08de2d72b351 X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7969.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2025 05:06:19.3189 (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: 6/SHuT4OjAobROiDzepDBk+Fc+Mac8k7UHmyku6SxqXNMbQBylerdxeCs23/kZYAOYkiNgjwB+x8S3ohhJmMe2ExCtQrQ4xrZJGNsNLCOYUBO1+VPDhvE/KLfgxlJUhi X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR01MB7554 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 activate_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 -- other cases Signed-off-by: Huang Shijie --- kernel/sched/core.c | 28 ++++++++++++++++------------ kernel/sched/sched.h | 2 ++ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 0c4ff93eeb78..a946f3604548 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2135,6 +2135,7 @@ void activate_task(struct rq *rq, struct task_struct = *p, int flags) sched_mm_cid_migrate_to(rq, p); =20 enqueue_task(rq, p, flags); + update_rq_avg_idle(rq); =20 WRITE_ONCE(p->on_rq, TASK_ON_RQ_QUEUED); ASSERT_EXCLUSIVE_WRITER(p->on_rq); @@ -2412,6 +2413,21 @@ static inline bool is_cpu_allowed(struct task_struct= *p, int cpu) return cpu_online(cpu); } =20 +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; + } +} + /* * This is how migration works: * @@ -3645,18 +3661,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 /* diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index b419a4d98461..0e8aef1cef96 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -242,6 +242,8 @@ static inline void update_avg(u64 *avg, u64 sample) *avg +=3D diff / 8; } =20 +extern void update_rq_avg_idle(struct rq *); + /* * Shifting a value by an exponent greater *or equal* to the size of said = value * is UB; cap at size-1. --=20 2.40.1 From nobody Mon Dec 1 22:02:16 2025 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11021140.outbound.protection.outlook.com [52.101.62.140]) (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 144D730F949 for ; Thu, 27 Nov 2025 05:06:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.140 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764219993; cv=fail; b=uMkA17mXlYnpWG5Fzq7Aavh3uhvCUPgVqsg25saxtt7yZCEwwyIigV2jiXJIDIyhuE248c0hEoKUI2P2sS1uzqUXSLssC//kjDHqh3tF6uI+ogvO5wcv0JbaU90W1eA9NxHRoQFLdVWPg1tjNNE3MZnwaiVbSOSvMMrAqmAHU6E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764219993; c=relaxed/simple; bh=npb6YzWh3lXkkMxLzdwmEFPlXtsupXLlnqoaNgwKLeI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=hLLiL+10yg972asKeMBE5QblCOwiMLKZTsSJjTfFdYAAJiRs0h/D+Q9bYgDCWVWNjSaZ0O56d1I3kR03bZ+ZIgWKJOh/oQLeifihl3EFDsxu3ieQeK+o6PjjbWbiwVRsHJ70uZ4Qhn+gbEBm3IUUm9OiR6CgIkev1pp1xgyoOxI= 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=vctXFQI0; arc=fail smtp.client-ip=52.101.62.140 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="vctXFQI0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=R3jpl4QsIT1QWHVt33mP6hnT0JfqBBXD2UBCOZHoH5LBgu/DyVq2wvU8kH4kjdVWR+n6R/hZfYFlEDClQVkRym4r7+TlJDCOfkaSsf5D0/vnLKWdZ1N6UGBSwlhCIdvJkq/36jIx+yIfVkQDO4WihEJmeJ/ISqevELkvtWVL5lFY5chy5iBuse0BQjBMEmNd0WutLUo5r19u4WLC9y0mkXS/Lo+3WwDJtH0iSBWmShr2bEcYJXeOlrTBOwdVuxLwqyzEFNlyNGK2sQwt81184kSgA9mPnIVEidc1pidp6ib/IboR1oqdhWX9zAaJ7HeUOVTI4+cLeLvQ0VgYRNjO4g== 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=QGMwl1DPCN71ldkyHfoFecRNvRpJpuSYMTZ1ZT8xoUc=; b=B/wVn6nQ3pXZoBqEM3Clgc5QJsheSopbo7hKDlAUsUbWY8a/ro+JDlKslvSV2Z1etCLjwFcrMl+3EAV5TQKpFOK+RNkOfELfJJNDnpgTJHwx8E8povG1y9CGE5qvsfNQ2zWE6+jF1nkC6Ip7o0JuYWkBF6C9ibPANQwkWgDoacpURrNgS8zI2auGJBbzVGGFZgR/wxH/+lqYzmJXQWwxdyvgmy0fRpwScHnIZeUpR00oKuvLxhuyYrj/S2iMJrIc1kqPxlXRA7PtInszuAZgwa16TqyXBKsONWTsXrJNkZC8Pgh1iO9OKzKR5/JmiQSCj0CHVBtPi8SR497EIs20bQ== 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=QGMwl1DPCN71ldkyHfoFecRNvRpJpuSYMTZ1ZT8xoUc=; b=vctXFQI0+aP/PDHH5m/HTYxYalw5QmtX2Koj6Qqwe4Kg6nEcLnlw9gxWpZ0atCslNZOMLLgZ0NonW9CMS63IOtvHiR8l7xolTTS9MYLVqRag3vdHcC/rrJVm9iNqQXywwBaufn0n9DmqpnXHxeq31Bsip/E42IuLHWRYa5Pz3yk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from SN7PR01MB7969.prod.exchangelabs.com (2603:10b6:806:34a::19) by DS7PR01MB9363.prod.exchangelabs.com (2603:10b6:8:24f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9366.14; Thu, 27 Nov 2025 05:06:29 +0000 Received: from SN7PR01MB7969.prod.exchangelabs.com ([fe80::5ca3:a44a:c242:d9eb]) by SN7PR01MB7969.prod.exchangelabs.com ([fe80::5ca3:a44a:c242:d9eb%5]) with mapi id 15.20.9366.009; Thu, 27 Nov 2025 05:06:29 +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, Huang Shijie Subject: [PATCH v2 3/3] sched/fair: update rq->avg_idle for the delay-dequeue task Date: Thu, 27 Nov 2025 13:03:53 +0800 Message-Id: <20251127050353.1089724-4-shijie@os.amperecomputing.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20251127050353.1089724-1-shijie@os.amperecomputing.com> References: <20251127050353.1089724-1-shijie@os.amperecomputing.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: KL1PR01CA0019.apcprd01.prod.exchangelabs.com (2603:1096:820::31) To SN7PR01MB7969.prod.exchangelabs.com (2603:10b6:806:34a::19) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN7PR01MB7969:EE_|DS7PR01MB9363:EE_ X-MS-Office365-Filtering-Correlation-Id: 13be2faa-fb31-4900-2e21-08de2d72b93d X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?riCXNTi5KI93UUUFNpjKcQGRh5xmSNRpMUQlFea1b0u/GsHTLs2tp1IKm8ry?= =?us-ascii?Q?Ze0IOa45l2F7HAp2V4tWQ1Kz5B5ptugxkRHoZysAX0UcuUn6bMl2se0XgSEF?= =?us-ascii?Q?I+m76zab8pxhectStT64UR/uehzLKNSytewZbhJGoueSo/TZdF71e7d2Ylp1?= =?us-ascii?Q?UgPp2n2MFFlGW4USoOMvn5orbjfxfstchMUu6KG5+E9AWfuZzsZPioauo5SA?= =?us-ascii?Q?s1HcXRlNO2BZdbuYAjjRD0xicjdRPqugofhSsux9p+MV4JrMLxPcXRZQvuAE?= =?us-ascii?Q?kbrfeyICyE1dPdXJ3eZLOEC8d8a6d4RqEzrGmyCy2/iVqwksXFU23co9ymTl?= =?us-ascii?Q?mTCQ6NfGcETAByXjmrGJoP/q7zCiNnCIvEf+zVnlsiT/hOxiTYz7VnDcMkdz?= =?us-ascii?Q?J7IMBHTCjXe3s1LTPHg4tSmHaPxHstjgYwwr72FqwQ7i0AEs8c8ehF+zISkX?= =?us-ascii?Q?5xOdfeDItfeLaAIAd2Lv/1c/AcNCGXF2/SPgVwzByeLiUHeJisKpzSAMnTiS?= =?us-ascii?Q?rqSxYS+pG9+GslbBq/k5gIHmkQXjPySUglPTZCzN6h7tKirbXpyXYlm80uH4?= =?us-ascii?Q?kx2BTc85tcsP7WSN2Z17b4QGbuUFXuB6o7Eo+SgFni6mRWrU+JNxepObkODV?= =?us-ascii?Q?JgIqoNbpMGOflpgybqoaViAb/rKMXlHwj/M4MaU3z8CXwdFw2UQ1idgIZm5r?= =?us-ascii?Q?26GZlkZ1mUFmY5esmLJDjFxpCSsqdHFBcLj0nz7SfM1Lf3IY0XijW3bg+fOo?= =?us-ascii?Q?fhp7hOu9fUoY1X3RMu+xOWceAfvt3S6k9r6rHft4P8g8y+20yZCHecdSHyo2?= =?us-ascii?Q?2h8foc+BNt7eZ3zIK2lBGT+W5iqLX7jMpxiosGOeZMDg0IZPAdqEwIWUsIDL?= =?us-ascii?Q?tHCEThBwojMa6S/oOHSkX9SjLUTPsIqq+3tG6s6GEJYIe4rlaytj2uwmWXVA?= =?us-ascii?Q?/7COI8ZipCdzJjuhPhh+n/f5BWPbkeBQD5IYs7AuLZSEuRbYTiG25ra7mp9U?= =?us-ascii?Q?7drLhmGS0X8UFEsBYRGR78SFlAdv6mdYlrOQmFjf3RSdcn4DRSa1nGbMil7v?= =?us-ascii?Q?om8+fSo3kIDmNEV5o8eY51IcufQDrzlCd5gEupHeUHaXnecWvVq/WBg0tkQu?= =?us-ascii?Q?n/NjYc/euGSqVXv6BD105fUYiCjqohORbPVGHnTaTTr/97P1PuhhizZVc+sF?= =?us-ascii?Q?fkymYX7fRhv0FWrPi3uxqpovOsxQzu7EmJnifbu+ZiIqreUou+NOZSxZxEMm?= =?us-ascii?Q?1NvE3Eo04Xn0N4SrTiJHhQLBsmj7JnXfX2FAAlPTx1kj4gvOneUsLfiwTnfd?= =?us-ascii?Q?pIXw6n7769WkoZ7VBbsrWAfZjitFKcraMzp8aDfdJqwne74pIhN0b5GPoXIu?= =?us-ascii?Q?9uqM3QBtISP/YZklhYijZNcdY+LV8LI4FH14V34YPoWlWK9HY2i1yB86XeKU?= =?us-ascii?Q?98txVoA/KKqblCwjjUPPiKWk2yZIFBhOQYqYK/14JIIGMD5+VAB41N0fYOmF?= =?us-ascii?Q?n4pr2n788NcMuJ81TJ/kMEcUI0ICW72vq061?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN7PR01MB7969.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(52116014)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?s/qsHQ6eHXDctGGn3gtxQdTqTz72z9qMGG5RJPo9POBQvYWlKhGER106+FSI?= =?us-ascii?Q?Wdmck0xCzdKYVxeGeYJ8dpBhjnAlXxFnBFTIXw+guDaCkDc9TlkHt9u+hBTM?= =?us-ascii?Q?azhB+kew21ecmQbLYOyUFEU7MHxfyd42KS8FdZjIRKKNivk1wrRU8HMVN5ZB?= =?us-ascii?Q?hX0x9Zqjjwwa9v33qK8FWBwtRCNsygSOwAZOdb6WUSIOvS13VANrp9XltF+2?= =?us-ascii?Q?HCHea4fKGU+BENagcH7WYq3xj8IKIl1Hf9UJQNZlyvaV+XopZ2CP/SXNhyOF?= =?us-ascii?Q?wrJp1jnhdeGuQ0kOHGmcjwPJY1hdCiLdPgp5W5hEbqP8hX3B8y4cqkqrgZTY?= =?us-ascii?Q?5N6x8z8N1bCkck/6zI/X/ekRnKh6Aq0iwu4MjjG2nmJEcbRaycSkkv4wWFJ1?= =?us-ascii?Q?4SNfLAgxDnPSzwiIqtEczcZZurI/VDwAUSdtBmlgAzBxEO50BlKfovb9qYhz?= =?us-ascii?Q?7kNHJ6p0y64fp84y5UkDoTXhvmMAGHYpFJDatyneMI81yo8uo7Ki1gZx08+1?= =?us-ascii?Q?8QBjktRZyJ8S0k4OVnQ58AiHWvuNNVpscSpGTKt0lJ7F/W98Ta7edzKfLtwu?= =?us-ascii?Q?Cu3LgK3/QPl1MyqssynEuMi+NHf3vL5EG3ZP30g5HpRMHBhOGMwQZelW5iHD?= =?us-ascii?Q?NBJaJsI0m0VtIFvsFjgqwAKHQQm5n/yeX13psAyz7MJIXVexjw/JxfZv4vjD?= =?us-ascii?Q?i5deN7jQaaszn+XFSe/nI+Xy2aclej25/iCcKg+2N9ezKyaYM89slLo4WNqn?= =?us-ascii?Q?pUO2FGlMtfReNQ3O8nLK72hGnttjrLs7LTun7Fbgkx63jGPQTLUm0b6tOGCY?= =?us-ascii?Q?f5PRkHb96zvFf3Nnx6laF82UML5U3ef5fJz3mUr3FIYJsn+JiVpIbiXQTDzR?= =?us-ascii?Q?E9fsJRUTYv6eVFGBOBmrnGUIefJXFNnA36B1Lk+xG539m2W0RNZzxyEDMj/H?= =?us-ascii?Q?ueXwEJuS3+oY5N+hOSUnKHlp7q1rzb4hPzN/1OyHtePb86R5OHu/OWIBn21q?= =?us-ascii?Q?uAudB6MKVFQkw+9FDHT8zabATeQC1veZI9PCh/Z+Jxm9pRAfDkoO1BazEEh1?= =?us-ascii?Q?mDn9grM1eRi13MPV8Mh8TnPXpBU55se21zez9E7wh3RcZWJ3P0ZvBhw2l8az?= =?us-ascii?Q?6dO35+0ppgip+9cPft+W0xiv4Da8W4FfHtBjgTzXYlLZwLw7YV7HCmNdBEY4?= =?us-ascii?Q?bPTlF0NIy8+eo50CtB8SI1b/mL50+6RZWE/P83oArirUjLENzYxswEgmZsuE?= =?us-ascii?Q?eK+HTuWqOlhYtXb0+7RmspKHsnCE3x9T3AJW30V4S4Ww3vAlOgRpesEgK4tG?= =?us-ascii?Q?OrrWzYWIkIFvdJp3lvhUpofsOaKXaZCaPiGPPFuVND4e6XuJqv+ryNNVNP/Q?= =?us-ascii?Q?JFifvKzVDVLWWr+4h/ZSl8mcIar6BTKRpPX7lyxgIAPb3X+vs7vBPUSKVzeE?= =?us-ascii?Q?hNy/GrFOGAdyF9ynf+VHErzPK7dXrnmWa0AYmK/kaeVg8XKk2/xlRWjquCQs?= =?us-ascii?Q?1GNpLWsmqR40StHVP3ml8Up6fTkJf0/02tAriuY2CupY0fl8Ti6JVB6jad4a?= =?us-ascii?Q?/FK08+q7Hi2SiggjywokMSMmthVB6v+L2jrAoIBYZo5GqeVQavx0wTxOOv18?= =?us-ascii?Q?BtICWhusPRHvVuyGizI9DTA=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 13be2faa-fb31-4900-2e21-08de2d72b93d X-MS-Exchange-CrossTenant-AuthSource: SN7PR01MB7969.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2025 05:06:29.4582 (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: rLKK0JuOk+BKpKwpyIMVLjD1/E/H61CthkNLIXworu3nyEJELgRG1oeLyOHqbDGJ5BYcTApzVwEyt6Z1+1n88mBgExT5BiP0YuZdmaj99966Yxe2RnlpJEucBRw39EKu X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR01MB9363 Content-Type: text/plain; charset="utf-8" When a delay-dequeue task is woken and requeued back, it may becomes eligible, and changes the CPU idle status, so we need to update the rq->avg_idle for it. This patch adds a new parameter for requeue_delayed_entity(), and updates the rq->avg_idle as needed. 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 c1a8fa043156..2ac630ecdbd5 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -5208,7 +5208,7 @@ static void check_enqueue_throttle(struct cfs_rq *cfs= _rq); static inline int cfs_rq_throttled(struct cfs_rq *cfs_rq); =20 static void -requeue_delayed_entity(struct sched_entity *se); +requeue_delayed_entity(struct rq *rq, struct sched_entity *se); =20 static void enqueue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se, int flags) @@ -6835,7 +6835,7 @@ static int sched_idle_cpu(int cpu) } =20 static void -requeue_delayed_entity(struct sched_entity *se) +requeue_delayed_entity(struct rq *rq, struct sched_entity *se) { struct cfs_rq *cfs_rq =3D cfs_rq_of(se); =20 @@ -6862,6 +6862,10 @@ requeue_delayed_entity(struct sched_entity *se) } =20 update_load_avg(cfs_rq, se, 0); + + if (entity_eligible(cfs_rq, se)) + update_rq_avg_idle(rq); + clear_delayed(se); } =20 @@ -6894,7 +6898,7 @@ enqueue_task_fair(struct rq *rq, struct task_struct *= p, int flags) util_est_enqueue(&rq->cfs, p); =20 if (flags & ENQUEUE_DELAYED) { - requeue_delayed_entity(se); + requeue_delayed_entity(rq, se); return; } =20 @@ -6912,7 +6916,7 @@ enqueue_task_fair(struct rq *rq, struct task_struct *= p, int flags) for_each_sched_entity(se) { if (se->on_rq) { if (se->sched_delayed) - requeue_delayed_entity(se); + requeue_delayed_entity(rq, se); break; } cfs_rq =3D cfs_rq_of(se); --=20 2.40.1