Re: [PATCH v17 05/33] x86/cpufeatures: Add support for Assignable Bandwidth Monitoring Counters (ABMC)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux