Re: [PATCH v14 11/32] fs/resctrl: Introduce the interface to display monitoring modes
From: Reinette Chatre
Date: Tue Jun 24 2025 - 18:47:39 EST
Hi Babu,
On 6/13/25 2:04 PM, Babu Moger wrote:
> Introduce the resctrl file "mbm_assign_mode" to list the supported
> monitoring modes.
"the supported monitoring modes" -> "the supported counter assignment modes"?
>
> The "mbm_event" mode allows users to assign a hardware counter ID to an
nit: users do not assign/pick the ID, this is done by resctrl. So perhaps
just "users to assign a hardware counter to ..."
> RMID, event pair and monitor bandwidth usage as long as it is assigned.
> The hardware continues to track the assigned counter until it is
> explicitly unassigned by the user. Each event within a resctrl group
> can be assigned independently in this mode.
>
> On AMD systems "mbm_event" mode is backed by the ABMC (Assignable
> Bandwidth Monitoring Counters) hardware feature and is enabled by default.
>
> The "default" mode is the existing mode that works without the explicit
> counter assignment, instead relying on dynamic counter assignment by
> hardware that may result in hardware not dedicating a counter resulting
> in monitoring data reads returning "Unavailable".
>
> Provide an interface to display the monitor modes on the system.
>
> $ cat /sys/fs/resctrl/info/L3_MON/mbm_assign_mode
> [mbm_event]
> default
>
> Add IS_ENABLED(CONFIG_RESCTRL_ASSIGN_FIXED) check to support Arm64.
>
> On x86, CONFIG_RESCTRL_ASSIGN_FIXED is not defined. On Arm64, it will be
> defined when the "mbm_event" mode is supported.
>
> Add IS_ENABLED(CONFIG_RESCTRL_ASSIGN_FIXED) check early to ensure the user
> interface remains compatible with upcoming Arm64 support. IS_ENABLED()
> safely evaluates to 0 when the configuration is not defined.
>
> As a result, for MPAM, the display would be either:
> [default]
> or
> [mbm_event]
>
> Signed-off-by: Babu Moger <babu.moger@xxxxxxx>
> ---
...
> ---
> Documentation/filesystems/resctrl.rst | 31 ++++++++++++++++++++++
> fs/resctrl/rdtgroup.c | 37 +++++++++++++++++++++++++++
> 2 files changed, 68 insertions(+)
>
> diff --git a/Documentation/filesystems/resctrl.rst b/Documentation/filesystems/resctrl.rst
> index c97fd77a107d..4e76e4ac5d3a 100644
> --- a/Documentation/filesystems/resctrl.rst
> +++ b/Documentation/filesystems/resctrl.rst
> @@ -257,6 +257,37 @@ with the following files:
> # cat /sys/fs/resctrl/info/L3_MON/mbm_local_bytes_config
> 0=0x30;1=0x30;3=0x15;4=0x15
>
> +"mbm_assign_mode":
> + The supported monitoring modes. The enclosed brackets indicate which mode
"The supported monitoring modes." -> "The supported counter assignment modes."?
> + is enabled.
> + ::
> +
> + # cat /sys/fs/resctrl/info/L3_MON/mbm_assign_mode
> + [mbm_event]
> + default
> +
> + "mbm_event":
> +
> + mbm_event mode allows users to assign a hardware counter ID to an RMID, event
"hardware counter ID" -> "hardware counter"
> + pair and monitor the bandwidth usage as long as it is assigned. The hardware
> + continues to track the assigned counter until it is explicitly unassigned by
> + the user. Each event within a resctrl group can be assigned independently.
> +
> + In this mode, a monitoring event can only accumulate data while it is backed
> + by a hardware counter. Use "mbm_L3_assignments" found in each CTRL_MON and MON
> + group to specify which of the events should have a counter assigned. The number
> + of counters available is described in the "num_mbm_cntrs" file. Changing the
> + mode may cause all counters on the resource to reset.
> +
> + "default":
> +
> + In default mode, resctrl assumes there is a hardware counter for each
> + event within every CTRL_MON and MON group. On AMD platforms, it is
> + recommended to use the mbm_event mode, if supported, to prevent reset of MBM
> + events between reads resulting from hardware re-allocating counters. This can
> + result in misleading values or display "Unavailable" if no counter is assigned
> + to the event.
> +
> "max_threshold_occupancy":
> Read/write file provides the largest value (in
> bytes) at which a previously used LLC_occupancy
Reinette