Hi Reinette, On 9/4/25 12:35, Reinette Chatre wrote: > Hi Babu, > > On 9/4/25 10:21 AM, Moger, Babu wrote: >> Hi Reinette, >> >> On 8/14/25 21:25, Babu Moger wrote: >>> Users can create as many monitor groups as RMIDs supported by the hardware. >>> However, bandwidth monitoring feature on AMD system only guarantees that >>> RMIDs currently assigned to a processor will be tracked by hardware. The >>> counters of any other RMIDs which are no longer being tracked will be reset >>> to zero. The MBM event counters return "Unavailable" for the RMIDs that are >>> not tracked by hardware. So, there can be only limited number of groups >>> that can give guaranteed monitoring numbers. With ever changing >>> configurations there is no way to definitely know which of these groups are >>> being tracked during a particular time. Users do not have the option to >>> monitor a group or set of groups for a certain period of time without >>> worrying about RMID being reset in between. >>> >>> The ABMC feature allows users to assign a hardware counter to an 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. There is no need to worry about counters being >>> reset during this period. Additionally, the user can specify the type of >>> memory transactions (e.g., reads, writes) for the counter to track. >>> >>> Without ABMC enabled, monitoring will work in current mode without >>> assignment option. >>> >>> The Linux resctrl subsystem provides an interface that allows monitoring of >>> up to two memory bandwidth events per group, selected from a combination of >>> available total and local events. When ABMC is enabled, two events will be >>> assigned to each group by default, in line with the current interface >>> design. Users will also have the option to configure which types of memory >>> transactions are counted by these events. >>> >>> Due to the limited number of available counters (32), users may quickly >>> exhaust the available counters. If the system runs out of assignable ABMC >>> counters, the kernel will report an error. In such cases, users will need >>> to unassign one or more active counters to free up counters for new >>> assignments. resctrl will provide options to assign or unassign events >>> through the group-specific interface file. >>> >>> The feature is detected via CPUID_Fn80000020_EBX_x00 bit 5. >>> Bits Description >>> 5 ABMC (Assignable Bandwidth Monitoring Counters) >>> >>> The feature details are documented in APM listed below [1]. >>> [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming >>> Publication # 24593 Revision 3.41 section 19.3.3.3 Assignable Bandwidth >>> Monitoring (ABMC). >>> >>> Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 >>> Signed-off-by: Babu Moger <babu.moger@xxxxxxx> >>> Reviewed-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> >> >> This is an FYI. I am updating the text about the documentation to address >> your comment. >> https://lore.kernel.org/lkml/53387aa7-0e72-4bf9-a188-43c0f78c2d6f@xxxxxxxxx/ >> >> >> The ABMC feature details are documented in APM [1] available from [2]. >> [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming >> Publication # 24593 Revision 3.41 section 19.3.3.3 Assignable Bandwidth >> Monitoring (ABMC). >> >> Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 # [2] >> >> >> >> Hope it is fine. > > Yes, thank you. I think this is a helpful addition. I assume this change > will be applied to all patches in this series that contain this pattern? Yes. Sure. -- Thanks Babu Moger