[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251127050353.1089724-1-shijie@os.amperecomputing.com>
Date: Thu, 27 Nov 2025 13:03:50 +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,
Huang Shijie <shijie@...amperecomputing.com>
Subject: [PATCH v2 0/3] 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.
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 (3):
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
sched/fair: update rq->avg_idle for the delay-dequeue task
kernel/sched/core.c | 28 ++++++++++++++++------------
kernel/sched/fair.c | 24 ++++++++++++++++--------
kernel/sched/sched.h | 2 ++
3 files changed, 34 insertions(+), 20 deletions(-)
--
2.40.1
Powered by blists - more mailing lists