From nobody Mon Dec 1 22:35:45 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