Re: [PATCH v6 07/18] fs/resctrl: Introduce resctrl_set_kmode_support() to register supported modes

From: Reinette Chatre

Date: Thu Oct 15 2026 - 10:52:47 EST


Hi Babu,

On 10/1/26 8:10 AM, Babu Moger wrote:
> The resctrl subsystem tracks kernel mode configuration. Architectures need

resctrl tracks nothing at this point. This is preparatory work to enable resctrl
to do so.

> to register the supported kernel modes.
>
> Add resctrl_set_kmode_support() so an architecture can register supported
> kernel modes.
>
> Signed-off-by: Babu Moger <babu.moger@xxxxxxx>
> ---

...

> ---
> fs/resctrl/rdtgroup.c | 6 ++++++
> include/linux/resctrl.h | 15 +++++++++++++++
> 2 files changed, 21 insertions(+)
>
> diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
> index 7c39792be1fa..75b81d07a247 100644
> --- a/fs/resctrl/rdtgroup.c
> +++ b/fs/resctrl/rdtgroup.c
> @@ -2320,6 +2320,12 @@ static void resctrl_kmode_init(void)
> resctrl_kmode.mon = KMODE_ASSIGN;
> }
>
> +void resctrl_set_kmode_support(enum resctrl_kernel_mode kmode)
> +{
> + if (kmode < RESCTRL_NUM_KERNEL_MODES)
> + __set_bit(kmode, resctrl_kmode.kmode_sup);
> +}
> +
> void resctrl_file_fflags_init(const char *config, unsigned long fflags)
> {
> struct rftype *rft;
> diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
> index dcb0beb847b6..5553f6301bd4 100644
> --- a/include/linux/resctrl.h
> +++ b/include/linux/resctrl.h
> @@ -752,6 +752,21 @@ enum resctrl_kernel_mode {
>
> #define RESCTRL_NUM_KERNEL_MODES (RESCTRL_KMODE_LAST + 1)
>
> +/**
> + * resctrl_set_kmode_support() - Register a supported kernel mode
> + * @kmode: Kernel mode supported by the architecture.
> + *
> + * RESCTRL_INHERIT_USER is registered by resctrl_kmode_init() and does
> + * not need to be registered again.
> + *
> + * Architectures use this interface during resctrl initialization to
> + * advertise supported kernel modes. Registration of a mode indicates
> + * architectural support only. The final decision to expose and enable
> + * a mode is made by resctrl based on system capabilities and
> + * configuration.

The last sentence is not clear to me. There is no filtering of any modes
before it is exposed to user space. It is the architecture that sets the
modes based on the "system capabilities", this is not something the filesystem
decides?

> + */
> +void resctrl_set_kmode_support(enum resctrl_kernel_mode kmode);
> +
> /**
> * resctrl_arch_configure_kmode_global() - Program RESCTRL_GLOBAL_ENABLE_PER_CPU
> *

Reinette