[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251127091450.250797-1-shijie@os.amperecomputing.com>
Date: Thu, 27 Nov 2025 17:14:48 +0800
From: Huang Shijie <shijie@...amperecomputing.com>
To: mingo@...hat.com,
peterz@...radead.org,
juri.lelli@...hat.com,
vincent.guittot@...aro.org
Cc: patches@...erecomputing.com,
cl@...ux.com,
Shubhang@...amperecomputing.com,
dietmar.eggemann@....com,
rostedt@...dmis.org,
bsegall@...gle.com,
mgorman@...e.de,
linux-kernel@...r.kernel.org,
vschneid@...hat.com,
vineethr@...ux.ibm.com,
kprateek.nayak@....com,
Huang Shijie <shijie@...amperecomputing.com>
Subject: [PATCH v3 0/2] sched: update the rq->avg_idle when a task is moved to an idle CPU
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 set tries to resolve it.
v2--> v3:
-- merge patch 3 into patch 2:
move update_rq_avg_idle() to enqueue_task().
v2: https://lkml.org/lkml/2025/11/27/214
v1--> v2:
-- Put update_rq_avg_idle() to activate_task()
-- Add Delay-dequeue task check.
v1: https://lkml.org/lkml/2025/11/24/97
Huang Shijie (2):
sched/fair: set rq->idle_stamp at the end of the sched_balance_newidle
sched: update the rq->avg_idle when a task is moved to an idle CPU
kernel/sched/core.c | 36 ++++++++++++++++++++++++------------
kernel/sched/fair.c | 12 ++++++++----
2 files changed, 32 insertions(+), 16 deletions(-)
--
2.40.1
Powered by blists - more mailing lists