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

From: Moger, Babu

Date: Fri Oct 16 2026 - 12:29:31 EST


Hi Reinette,

On 10/15/2026 9:40 AM, Reinette Chatre wrote:
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.

Yes. That is correct. Hope this looks ok.

Architectures may support different kernel modes that need to be
exposed to resctrl.

Add resctrl_set_kmode_support() to allow an architecture to register
its supported kernel modes. This is preparatory infrastructure for
future kernel mode support in resctrl.




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?

Yes. Will remove last two lines.
Thanks
Babu