Hi Reinette, On 5/3/24 18:25, Reinette Chatre wrote: > Hi Babu, > > On 3/28/2024 6:06 PM, Babu Moger wrote: >> AMD hardware can support 256 or more RMIDs. However, bandwidth monitoring >> feature 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 active. > > I think it will be helpful to use consistent terms. For example, above uses > "tracked by hardware" as well as "active". "tracked by hardware" seems more > specific to me and I think it would help to understand this work if this is > used consistently. Sure. > >> >> Users can create 256 or more monitor groups. But there can be only limited > > I think you write "Users can create 256 or more monitor groups." to match > with earlier "AMD hardware can support 256 or more RMIDs.". Can this be made > specific with "Users can create as many monitor groups as RMIDs supported."? Sure. > (please feel free to improve) > >> number of groups that can give guaranteed monitoring numbers. With ever >> changing configurations there is no way to definitely know which of these >> groups will be active for certain point of time. Users do not have the >> option to monitor a group or set of groups for certain period of time >> without worrying about RMID being reset in between. >> >> The ABMC feature provides an option to the user to assign an RMID to the >> hardware counter and monitor the bandwidth for a longer duration. >> The assigned RMID will be active until the user unassigns it manually. >> There is no need to worry about counters being reset during this period. >> Additionally, the user can specify a bitmask identifying the specific >> bandwidth types from the given source to track with the counter. >> >> Linux resctrl subsystem provides the interface to count maximum of two >> memory bandwidth events per group, from a combination of available total >> and local events. Keeping the current interface, users can assign a maximum >> of 2 ABMC counters per group. User will also have the option to assign only >> one counter to the group. If the system runs out of assignable ABMC >> counters, kernel will display an error. Users need to unassign an already >> assigned counter to make space for new assignments. >> >> AMD hardware provides total of 32 ABMC counters when supported. > > I am not sure if you want to mention this. As written this sounds like > a hardcoded value but it clear from later patches the number of counters > is learned from hardware. ok. Will remove it. > >> >> The feature can be 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). >> >> Signed-off-by: Babu Moger <babu.moger@xxxxxxx> >> Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537 > > Reinette > -- Thanks Babu Moger