Re: [PATCH v2 00/16] fs,x86/resctrl: Add kernel-mode (e.g., PLZA) support to the resctrl subsystem
From: Moger, Babu
Date: Tue Apr 21 2026 - 20:18:33 EST
Hi Reinette,
On 4/21/2026 5:44 PM, Reinette Chatre wrote:
Hi Babu,
On 4/21/26 3:04 PM, Moger, Babu wrote:
My bad. My only motivation was to keep the mode listing display consistent.
The listing display is already inconsistent since the different modes have different
global properties, no?
Yes. That is true.
That said, I agree we need to support this. Without it, we won’t be able to move the group from PLZA to non-PLZA.
# cat info/kernel_mode
inherit_ctrl_and_mon:
global_assign_ctrl_assign_mon_per_cpu:group=uninitialized
[global_assign_ctrl_assign_mon_per_cpu]:group=ctrl1/mon1/
Like above where the listing is inconsistent. Is this what you mean?
I meant the listing of "inherit_ctrl_and_mon" does not have groups while other modes have it.
sidenote: Should the last line be "[global_assign_ctrl_assign_mon_per_cpu:group=ctrl1/mon1/]"?
Yes.
# echo "inherit_ctrl_and_mon:group=ctrl1/mon1/" > info/kernel_mode
This does not look right. Why is a "group" property needed here? Can the mode not just
be set by itself? Specifically, why not just:
# echo "inherit_ctrl_and_mon" > info/kernel_mode
We can go with this based on your another comment below. While changing the mode use the defaults if properties are not provided.
This reminds me that there is still an open remaining from
https://lore.kernel.org/lkml/71099958-1ddf-40dc-8a3c-aa13d0c56fee@xxxxxxxxx/
Specifically this from that message:
The named fields could be made optional, if group is omitted then it will become the
default resource group, and if cpus/cpus_list is omitted then it will default to all CPUs.
This may not be intuitive since a user may expect that not mentioning a field means
that the field is left untouched. Have you considered this scenario in your proposal?
I think this needs some clear description of behavior wrt properties, for example:
- Is it required to provide all properties on each write? More specifically, can user expect there
to be "default" values when a property is not provided or is user required to provide a value
for each property? We need to be careful here because we do not want user scripts to fail when a new
property is added in the future. What if resctrl specifies that if user space does not provide
a property then resctrl will pick a default. For example, if user runs:
# echo "global_assign_ctrl_assign_mon_per_cpu" > info/kernel_mode
then resctrl will switch to "global_assign_ctrl_assign_mon_per_cpu" mode initialized to
the default group.
I am not sure if resctrl needs to support re-configuration of modes in the future where the
mode stays the same but a property changes? Consider, for example,
# cat info/kernel_mode
[inherit_ctrl_and_mon:]
global_assign_ctrl_assign_mon_per_cpu:group=uninitialized
# echo "global_assign_ctrl_assign_mon_per_cpu" > info/kernel_mode
/*
* resctrl switches to "global_assign_ctrl_assign_mon_per_cpu" mode and sets
* PLZA group to default group
*/
# cat info/kernel_mode
inherit_ctrl_and_mon:
[global_assign_ctrl_assign_mon_per_cpu:group=//]
# echo "global_assign_ctrl_assign_mon_per_cpu:group=ctrl1/mon1/" > info/kernel_mode
/*
* resctrl stays in "global_assign_ctrl_assign_mon_per_cpu" mode and sets
* PLZA group to default group
*/
I think you meant "PLZA group to ctrl1/mon1/" here.
# cat info/kernel_mode
inherit_ctrl_and_mon:
[global_assign_ctrl_assign_mon_per_cpu:group=ctrl1/mon1/]
# echo "global_assign_ctrl_assign_mon_per_cpu" > info/kernel_mode
/*
* TBD: should resctrl switch back to default group or just keep
* group as ctrl1/mon1/ ?
*/
resctrl could thus specify different behavior for switching to a mode where all properties
not specified obtains default values and re-configuring a mode where only specified
properties are changed. That means, the "TBD" above would be that the group stays
as ctrl1/mon1/. So,
# cat info/kernel_mode
inherit_ctrl_and_mon:
[global_assign_ctrl_assign_mon_per_cpu:group=ctrl1/mon1/]
What do you think?
Yes. Sure. We can do that. We only have 2 properties now (mode and group). We should be able to handle that.
# cat info/kernel_modeThis does not look right. After switching the kernel_mode to inherit_ctrl_and_mon
inherit_ctrl_and_mon:
global_assign_ctrl_assign_mon_per_cpu:group=uninitialized
[global_assign_ctrl_assign_mon_per_cpu]:group=uninitialized
I expect inherit_ctrl_and_mon to be the active mode?
Yes. inherit_ctrl_and_mon should be active here.
Thanks
Babu