From: "Moger, Babu" <bmoger@amd.com>
To: Reinette Chatre <reinette.chatre@intel.com>,
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 06/18] fs/resctrl: Introduce kernel mode states for resctrl
Date: Fri, 16 Oct 2026 10:10:10 -0500 [thread overview]
Message-ID: <351da689-6f30-4f56-8f3b-ea62cc501d7e@amd.com> (raw)
In-Reply-To: <b2c67318-b52d-440d-bf40-fde40b47ae07@intel.com>
Hi Reinette,
On 10/15/2026 9:37 AM, Reinette Chatre wrote:
> Hi Babu,
>
> nit: "for resctrl" in subject is redundant.
ok.
>
> On 10/1/26 8:10 AM, Babu Moger wrote:
>> The filesystem tracks supported kernel modes, the active mode, and the
>> control and monitoring association for the assigned group.
>
> Please let the context describe the context at the time of the patch, not how
> things will work after entire series is applied.
>
> Please use consistent terminology, this series switches between "assigned group"
> and "backing group" to refer to the same group.
Will use the "backing group". That seems more clearer.
>
> Please use the changelog to guide the reader to understand the architecture
> and how things fit together. Many changelogs are very cryptic without explanation
> of what the patch does and why.
>
Ack.
>>
>> Introduce struct resctrl_kmode_cfg and initialize the default configuration
>> from the platform's capabilities.
>
> Please check all changelogs to ensure they all are able to provide an
> answer to "why". More specifically, please consider:
> https://lore.kernel.org/lkml/20250911165433.GBaML-yTUZHkywuJIe@fat_crate.local/
>
Ack
>>
>> Signed-off-by: Babu Moger <babu.moger@amd.com>
>> ---
> ...
>
>> ---
>> fs/resctrl/internal.h | 29 +++++++++++++++++++++++++++++
>> fs/resctrl/rdtgroup.c | 25 +++++++++++++++++++++++++
>> 2 files changed, 54 insertions(+)
>>
>> diff --git a/fs/resctrl/internal.h b/fs/resctrl/internal.h
>> index e62a277dee85..98f04a2a762b 100644
>> --- a/fs/resctrl/internal.h
>> +++ b/fs/resctrl/internal.h
>> @@ -314,6 +314,35 @@ struct mbm_state {
>> u32 prev_bw;
>> };
>>
>> +/**
>> + * enum kmode_state - Control or monitoring association
>
> What does "control or monitoring association" mean? This is becoming
> an overloaded term used to mean different things and becoming confusing.
> For comparison, earlier patch introduced *another*
> "control and monitoring association" enum:
>
> enum resctrl_kernel_mode - Kernel mode control and monitoring association
Sure.
>
>> + * @KMODE_INHERIT: Inherit from the user-space task.
>> + * @KMODE_ASSIGN: Use the backing group's CLOSID or RMID.
>> + */
>> +enum kmode_state {
>> + KMODE_INHERIT,
>> + KMODE_ASSIGN
>> +};
>> +
>> +/**
>> + * struct resctrl_kmode_cfg - Kernel mode configuration
>> + * @kmode_sup: Bitmap of supported kernel modes.
>> + * @kmode_cur: Currently selected kernel mode.
>
> Adding this comment during a second pass ... please consider later motivations
> about naming of these fields. This field is introduced as "kmode_cur" but when
> considering the language used in rest of series "active" seems more appropriate.
>
> @kmode_sup could also just be @supported (the "kmode" is redundant).
Sure. Will change kmode_cur to "current".
>
>> + * @ctrl: Control association for %RESCTRL_GLOBAL_ENABLE_PER_CPU.
>> + * Kept while %RESCTRL_INHERIT_USER is selected.
>
> The "Kept while ..." does not seem to match implementation. Looks like
> resctrl_kmode_switch() always resets it to KMODE_ASSIGN?
Yes. Will remove the line.
>
> At this point the reader is left to decipher the architecture via cryptic
> changelogs and inaccurate comments. It is very difficult to parse.
>
>> + * @mon: Monitoring association for %RESCTRL_GLOBAL_ENABLE_PER_CPU.
>> + * Kept while %RESCTRL_INHERIT_USER is selected.
>
> Similar comment about "Kept ..."
Yes. Will remove the text.
>
>> + * @rdtgrp: Resource group backing %RESCTRL_GLOBAL_ENABLE_PER_CPU.
>> + * %NULL while that mode is not selected.
>> + */
>> +struct resctrl_kmode_cfg {
>> + DECLARE_BITMAP(kmode_sup, RESCTRL_NUM_KERNEL_MODES);
>> + enum resctrl_kernel_mode kmode_cur;
>> + enum kmode_state ctrl;
>> + enum kmode_state mon;
>> + struct rdtgroup *rdtgrp;
>> +};
>> +
>> extern struct mutex rdtgroup_mutex;
>>
>> static inline const char *rdt_kn_name(const struct kernfs_node *kn)
>> diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
>> index 68be9b903ac6..7c39792be1fa 100644
>> --- a/fs/resctrl/rdtgroup.c
>> +++ b/fs/resctrl/rdtgroup.c
>> @@ -76,6 +76,9 @@ static void rdtgroup_destroy_root(void);
>>
>> struct dentry *debugfs_resctrl;
>>
>> +/* Kernel mode for this system. */
>> +static struct resctrl_kmode_cfg resctrl_kmode;
>> +
>> /*
>> * Memory bandwidth monitoring event to use for the default CTRL_MON group
>> * and each new CTRL_MON group created by the user. Only relevant when
>> @@ -2297,6 +2300,26 @@ static void io_alloc_init(void)
>> }
>> }
>>
>> +/*
>> + * Set RESCTRL_INHERIT_USER as the default when the platform supports
>> + * allocation or monitoring. Otherwise leave kernel mode unsupported.
>
> This (and why) would be useful to describe in changelog.
Ack.
>
>> + */
>> +static void resctrl_kmode_init(void)
>> +{
>> + if (!resctrl_arch_alloc_capable() && !resctrl_arch_mon_capable())
>> + return;
>> +
>
> This check seems unnecessary? resctrl_kmode_init() will only be called
> on a system that is capable of allocation or monitoring.
> The planned AET changes will change this behavior see
> https://lore.kernel.org/lkml/20260928221509.68002-16-tony.luck@intel.com/
> but in that case it still seems as though initializing the kernel mode as
> below always needs to be done.
>
> That begs the question why is resctrl_kmode_init() needed at all? Why not use
> a static initializer?
Sure. Will do.
>
> I find resctrl_kmode_init() to be potentially confusing since it does *not*
> actually initialize resctrl_kmode. This is only possible to see two patches
> later where get_rdt_resources() is changed so that x86 sets its supported
> modes and this runs *before* resctrl_kmode_init().
>
> If anyone decides one day "this initialization code is missing a bitmap_zero()"
> then it will break PLZA.
Sounds good. Will remove resctrl_kmode_init() and statically initialize
resctrl_kmode.
Thanks
Babu
next prev parent reply other threads:[~2026-10-16 15:10 UTC|newest]
Thread overview: 84+ 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-01 15:22 ` sashiko-bot
2026-10-15 14:16 ` Reinette Chatre
2026-10-15 23:02 ` Babu Moger
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-15 23:03 ` Babu Moger
2026-10-01 15:10 ` [PATCH v6 03/18] x86/resctrl: Add PLZA configuration definitions and data structures Babu Moger
2026-10-01 15:30 ` sashiko-bot
2026-10-15 14:22 ` Reinette Chatre
2026-10-15 23:07 ` Babu Moger
2026-10-19 16:16 ` Reinette Chatre
2026-10-20 18:02 ` Babu Moger
2026-10-20 21:47 ` Reinette Chatre
2026-10-20 22:40 ` Moger, Babu
2026-10-01 15:10 ` [PATCH v6 04/18] fs/resctrl: Introduce kernel mode enum Babu Moger
2026-10-15 14:44 ` Reinette Chatre
2026-10-15 23:09 ` Babu Moger
2026-10-19 16:17 ` Reinette Chatre
2026-10-21 13:58 ` Babu Moger
2026-10-21 15:58 ` Reinette Chatre
2026-10-21 16:22 ` Babu Moger
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-01 15:35 ` sashiko-bot
2026-10-15 14:30 ` Reinette Chatre
2026-10-15 23:12 ` Moger, Babu
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-16 15:10 ` Moger, Babu [this message]
2026-10-19 16:18 ` Reinette Chatre
2026-10-20 14:20 ` Babu Moger
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-16 15:27 ` Moger, Babu
2026-10-19 16:19 ` Reinette Chatre
2026-10-20 14:46 ` Babu Moger
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-16 15:50 ` Moger, Babu
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-16 19:10 ` Moger, Babu
2026-10-19 16:20 ` Reinette Chatre
2026-10-21 15:21 ` Babu Moger
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-16 20:53 ` Moger, Babu
2026-10-19 16:22 ` Reinette Chatre
2026-10-20 19:10 ` Babu Moger
2026-10-20 22:00 ` Reinette Chatre
2026-10-21 15:53 ` Babu Moger
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-16 21:33 ` Moger, Babu
2026-10-19 16:34 ` Reinette Chatre
2026-10-21 15:36 ` Babu Moger
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-16 22:21 ` Moger, Babu
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-19 15:47 ` Babu Moger
2026-10-19 16:37 ` Reinette Chatre
2026-10-21 15:02 ` Babu Moger
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-19 16:31 ` Babu Moger
2026-10-19 22:00 ` Reinette Chatre
2026-10-21 16:59 ` Babu Moger
2026-10-21 17:32 ` Reinette Chatre
2026-10-21 18:18 ` Babu Moger
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-19 17:43 ` Babu Moger
2026-10-19 22:01 ` Reinette Chatre
2026-10-20 16:41 ` Babu Moger
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-20 0:21 ` Babu Moger
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
2026-10-17 0:13 ` [PATCH v6 00/18] x86,fs/resctrl: Add kernel-mode (e.g., PLZA) support to the resctrl subsystem Drew Fustini
2026-10-21 18:45 ` 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=351da689-6f30-4f56-8f3b-ea62cc501d7e@amd.com \
--to=bmoger@amd.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=reinette.chatre@intel.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.