Re: [RFC PATCH 01/23] sched/task_struct: Introduce classes of tasks

From: Peter Zijlstra
Date: Wed Sep 14 2022 - 09:47:22 EST


On Fri, Sep 09, 2022 at 04:11:43PM -0700, Ricardo Neri wrote:

> include/linux/sched.h | 7 +++++++
> init/Kconfig | 9 +++++++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index e7b2f8a5c711..acc33dbaa47c 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -117,6 +117,8 @@ struct task_group;
> __TASK_TRACED | EXIT_DEAD | EXIT_ZOMBIE | \
> TASK_PARKED)
>
> +#define TASK_CLASS_UNCLASSIFIED -1

> +#ifdef CONFIG_SCHED_TASK_CLASSES
> + /* Class of task that the scheduler uses for task placement decisions */
> + short class;
> +#endif

You're missing a hunk for init/init_task.c for this non-zero init value.

Does we really have to use a signed type and non-zero init value?