Re: [PATCH 04/10] sched/debug: Increase SCHEDSTAT_VERSION to 16

From: Ingo Molnar
Date: Tue Mar 12 2024 - 06:02:21 EST



* Shrikanth Hegde <sshegde@xxxxxxxxxxxxx> wrote:

>
>
> On 3/8/24 4:28 PM, Ingo Molnar wrote:
> > We changed the order of definitions within 'enum cpu_idle_type',
> > which changed the order of [CPU_MAX_IDLE_TYPES] columns in
> > show_schedstat().
> >
>
> > +++ b/kernel/sched/stats.c
> > @@ -113,7 +113,7 @@ void __update_stats_enqueue_sleeper(struct rq *rq, struct task_struct *p,
> > * Bump this up when changing the output format or the meaning of an existing
> > * format, so that tools can adapt (or abort)
> > */
> > -#define SCHEDSTAT_VERSION 15
> > +#define SCHEDSTAT_VERSION 16
>
> Please add the info about version, and change of the order
> briefly in Documentation/scheduler/sched-stats.rst as well.

Good point, I've added this paragraph to sched-stats.rst:

+Version 16 of schedstats changed the order of definitions within
+'enum cpu_idle_type', which changed the order of [CPU_MAX_IDLE_TYPES]
+columns in show_schedstat(). In particular the position of CPU_IDLE
+and __CPU_NOT_IDLE changed places. The size of the array is unchanged.

> One recent user that I recollect is sched scoreboard. Version number should
> be able to help the users when they it is breaking their scripts.
>
> +Gautham, Any thoughts?

If it's really a problem, I suspect we could maintain the v15 order of
output.

Thanks,

Ingo