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