From: Reinette Chatre <reinette.chatre@intel.com>
To: Babu Moger <babu.moger@amd.com>, <tony.luck@intel.com>,
<bp@alien8.de>, <ben.horgan@arm.com>
Cc: <corbet@lwn.net>, <skhan@linuxfoundation.org>,
<rdunlap@infradead.org>, <x86@kernel.org>, <Dave.Martin@arm.com>,
<james.morse@arm.com>, <tglx@kernel.org>, <mingo@redhat.com>,
<dave.hansen@linux.intel.com>, <hpa@zytor.com>,
<fenghuay@nvidia.com>, <kas@kernel.org>,
<rick.p.edgecombe@intel.com>, <akpm@linux-foundation.org>,
<rppt@kernel.org>, <dapeng1.mi@linux.intel.com>,
<elver@google.com>, <enelsonmoore@gmail.com>,
<jlayton@kernel.org>, <kuba@kernel.org>, <ebiggers@kernel.org>,
<seanjc@google.com>, <ewanhai-oc@zhaoxin.com>,
<binbin.wu@linux.intel.com>, <peterz@infradead.org>,
<ashish.kalra@amd.com>, <superm1@kernel.org>,
<chang.seok.bae@intel.com>, <prathyushi.nangia@amd.com>,
<kim.phillips@amd.com>, <ackerleytng@google.com>,
<elena.reshetova@intel.com>, <naveen@kernel.org>,
<darwi@linutronix.de>, <linux-doc@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <linux-coco@lists.linux.dev>,
<kvm@vger.kernel.org>, <eranian@google.com>,
<peternewman@google.com>
Subject: Re: [PATCH v6 04/18] fs/resctrl: Introduce kernel mode enum
Date: Thu, 15 Oct 2026 07:44:42 -0700 [thread overview]
Message-ID: <6764525f-0245-4cd3-b35c-c2bbf4e65733@intel.com> (raw)
In-Reply-To: <66efcdc1bf71c1cb47c546b1d1299b58594bd30d.1790867441.git.babu.moger@amd.com>
Hi Babu,
On 10/1/26 8:10 AM, Babu Moger wrote:
> Kernel mode work can use different allocation and monitoring associations
Here I think "different allocation and monitoring associations" means
different CLOSID/RMID, while other places "different allocation and monitoring
associations" means different MSR_IA32_PQR_PLZA_ASSOC.closid_en and
MSR_IA32_PQR_PLZA_ASSOC.rmid_en?
> than the originating user task. On x86, Privilege Level Zero Association
> (PLZA) enables the kernel to switch to a different CLOSID and/or RMID when
> entering kernel mode.
>
> Architectures need a common way to name kernel modes before resctrl
> can report what is active or what the platform supports.
>
> Introduce enum resctrl_kernel_mode:
> - RESCTRL_INHERIT_USER: Kernel mode work inherits allocation and
> monitoring from the user task.
> - RESCTRL_GLOBAL_ENABLE_PER_CPU: Kernel mode work uses allocation and/or
> monitoring associations that differ from the user task.
As written this is not accurate because there is nothing that prevents
the "kernel mode group" from being the same as a task's own group?
Could the description of RESCTRL_GLOBAL_ENABLE_PER_CPU be made more specific
to include that (a) it is a single (global) association that applies to *all*
user space tasks, and (b) it can be enabled/disabled on each CPU? With these
two additional details reader will more easily understand why the name of this
mode is "RESCTRL_GLOBAL_ENABLE_PER_CPU".
>
> Signed-off-by: Babu Moger <babu.moger@amd.com>
> ---
...
> ---
> include/linux/resctrl.h | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
> index 10dfdca7f4bf..f6adff7f4e1f 100644
> --- a/include/linux/resctrl.h
> +++ b/include/linux/resctrl.h
> @@ -723,6 +723,35 @@ int resctrl_arch_io_alloc_enable(struct rdt_resource *r, bool enable);
> */
> bool resctrl_arch_get_io_alloc_enabled(struct rdt_resource *r);
>
> +/**
> + * enum resctrl_kernel_mode - Kernel mode control and monitoring association.
> + *
> + * @RESCTRL_INHERIT_USER:
> + * Kernel mode inherits both allocation and monitoring associations
> + * from the user-space task. On x86, the kernel uses the same CLOSID and
> + * RMID as the user-space task.
> + *
> + * @RESCTRL_GLOBAL_ENABLE_PER_CPU:
> + * All kernel mode work uses the same allocation and/or monitoring
> + * association via an assigned CTRL_MON or MON group. The mode can
> + * be enabled/disabled per-CPU. When the mode is disabled on a CPU
> + * then the kernel work on that CPU inherits the allocation and
> + * monitoring association from the user-space task, effectively the
> + * kernel mode becomes RESCTRL_INHERIT_USER on that CPU.
> + *
> + * All online CPUs are included by default. A subset may be selected
> + * through the resctrl group interface, and a CTRL_MON or MON group
> + * may be assigned to this mode. On x86, CLOSID and RMID are configured
The sentence starting with "A subset ..." repeats what is described in the
first paragraph so it could just be dropped? This leaves the first sentence
of second paragraph out of place, how about merging it into first paragraph
like:
The mode can be enabled/disabled per-CPU, all online CPUs are enabled
by default.
> + * independently; either or both may differ from the user-space task.
> + */
> +enum resctrl_kernel_mode {
> + RESCTRL_INHERIT_USER,
> + RESCTRL_GLOBAL_ENABLE_PER_CPU,
> + RESCTRL_KMODE_LAST = RESCTRL_GLOBAL_ENABLE_PER_CPU
> +};
> +
> +#define RESCTRL_NUM_KERNEL_MODES (RESCTRL_KMODE_LAST + 1)
> +
> extern unsigned int resctrl_rmid_realloc_threshold;
> extern unsigned int resctrl_rmid_realloc_limit;
>
Reinette
next prev parent reply other threads:[~2026-10-15 14:45 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-01 15:10 [PATCH v6 00/18] x86,fs/resctrl: Add kernel-mode (e.g., PLZA) support to the resctrl subsystem Babu Moger
2026-10-01 15:10 ` [PATCH v6 01/18] x86/cpufeatures: Support Privilege Level Zero Association (PLZA) Babu Moger
2026-10-15 14:16 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 02/18] x86/resctrl: Add PLZA support to command-line options Babu Moger
2026-10-15 14:17 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 03/18] x86/resctrl: Add PLZA configuration definitions and data structures Babu Moger
2026-10-15 14:22 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 04/18] fs/resctrl: Introduce kernel mode enum Babu Moger
2026-10-15 14:44 ` Reinette Chatre [this message]
2026-10-01 15:10 ` [PATCH v6 05/18] x86,arm,fs/resctrl: Introduce architecture hook to program global kernel mode Babu Moger
2026-10-15 14:30 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 06/18] fs/resctrl: Introduce kernel mode states for resctrl Babu Moger
2026-10-15 14:37 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 07/18] fs/resctrl: Introduce resctrl_set_kmode_support() to register supported modes Babu Moger
2026-10-15 14:40 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 08/18] x86/resctrl: Register RESCTRL_GLOBAL_ENABLE_PER_CPU when PLZA is available Babu Moger
2026-10-15 14:46 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 09/18] fs/resctrl: Add interface to display kernel mode status Babu Moger
2026-10-15 15:16 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 10/18] fs/resctrl: Add support for hidden resource group files Babu Moger
2026-10-15 15:27 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 11/18] fs/resctrl: Introduce kmode_cpus/kmode_cpus_list per rdtgroup Babu Moger
2026-10-15 15:31 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 12/18] fs/resctrl: Add CPU hotplug support for kernel mode associations Babu Moger
2026-10-15 15:33 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 13/18] fs/resctrl: Deactivate kernel mode associations when a group is removed Babu Moger
2026-10-15 15:43 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 14/18] fs/resctrl: Control visibility of global per-CPU kernel mode group files Babu Moger
2026-10-15 15:46 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 15/18] fs/resctrl: Reject mode changes for groups backing kernel mode Babu Moger
2026-10-15 15:49 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 16/18] fs/resctrl: Add interface to modify kernel mode via info/kernel_mode Babu Moger
2026-10-15 16:07 ` Reinette Chatre
2026-10-01 15:10 ` [PATCH v6 17/18] fs/resctrl: Allow user space to write kmode_cpus/kmode_cpus_list Babu Moger
2026-10-01 15:10 ` [PATCH v6 18/18] fs/resctrl: Add kernel mode documentation and examples Babu Moger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6764525f-0245-4cd3-b35c-c2bbf4e65733@intel.com \
--to=reinette.chatre@intel.com \
--cc=Dave.Martin@arm.com \
--cc=ackerleytng@google.com \
--cc=akpm@linux-foundation.org \
--cc=ashish.kalra@amd.com \
--cc=babu.moger@amd.com \
--cc=ben.horgan@arm.com \
--cc=binbin.wu@linux.intel.com \
--cc=bp@alien8.de \
--cc=chang.seok.bae@intel.com \
--cc=corbet@lwn.net \
--cc=dapeng1.mi@linux.intel.com \
--cc=darwi@linutronix.de \
--cc=dave.hansen@linux.intel.com \
--cc=ebiggers@kernel.org \
--cc=elena.reshetova@intel.com \
--cc=elver@google.com \
--cc=enelsonmoore@gmail.com \
--cc=eranian@google.com \
--cc=ewanhai-oc@zhaoxin.com \
--cc=fenghuay@nvidia.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=jlayton@kernel.org \
--cc=kas@kernel.org \
--cc=kim.phillips@amd.com \
--cc=kuba@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-coco@lists.linux.dev \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=naveen@kernel.org \
--cc=peternewman@google.com \
--cc=peterz@infradead.org \
--cc=prathyushi.nangia@amd.com \
--cc=rdunlap@infradead.org \
--cc=rick.p.edgecombe@intel.com \
--cc=rppt@kernel.org \
--cc=seanjc@google.com \
--cc=skhan@linuxfoundation.org \
--cc=superm1@kernel.org \
--cc=tglx@kernel.org \
--cc=tony.luck@intel.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox