Re: [PATCH] sched/stats: correct the wait_start calculation logic

From: Honglei Wang

Date: Tue Nov 25 2025 - 21:12:57 EST


Gentle ping on this one submitted a couple of weeks earlier. Is it
worthy of being picked?

Thanks,
Honglei

On 11/13/25 8:43 PM, Honglei Wang wrote:
> It's not necessary to do the delta-related subtraction if the task
> is not on rq migrating. Add the migrating related judgment back.
>
> Signed-off-by: Honglei Wang <jameshongleiwang@xxxxxxx>
> ---
> kernel/sched/stats.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/sched/stats.c b/kernel/sched/stats.c
> index d1c9429a4ac5..60560fb31e63 100644
> --- a/kernel/sched/stats.c
> +++ b/kernel/sched/stats.c
> @@ -12,7 +12,8 @@ void __update_stats_wait_start(struct rq *rq, struct task_struct *p,
> wait_start = rq_clock(rq);
> prev_wait_start = schedstat_val(stats->wait_start);
>
> - if (p && likely(wait_start > prev_wait_start))
> + if (p && task_on_rq_migrating(p) &&
> + likely(wait_start > prev_wait_start))
> wait_start -= prev_wait_start;
>
> __schedstat_set(stats->wait_start, wait_start);