[PATCH v4 5/5] arm64: mpam: Add memory bandwidth usage (MBWU) documentation
Ben Horgan
ben.horgan at arm.com
Mon Jul 6 06:34:49 PDT 2026
Hi Fenghua,
On 7/2/26 16:46, Fenghua Yu wrote:
> Hi, Ben,
>
> On 7/2/26 07:58, Ben Horgan wrote:
>> Hi Reinette,
>>
>> On 7/2/26 15:46, Reinette Chatre wrote:
>>> Hi Ben,
>>>
>>> On 7/2/26 2:20 AM, Ben Horgan wrote:
>>>> On 7/1/26 23:38, Reinette Chatre wrote:
>>>>> On 5/20/26 2:24 PM, Ben Horgan wrote:
>>>
>>> ...
>>>
>>>>>> --- a/Documentation/arch/arm64/mpam.rst
>>>>>> +++ b/Documentation/arch/arm64/mpam.rst
>>>>>> @@ -65,6 +65,23 @@ The supported features are:
>>>>>> there is at least one CSU monitor on each MSC that makes up
>>>>>> the L3 group.
>>>>>> Exposing CSU counters from other caches or devices is not
>>>>>> supported.
>>>>>> +* Memory Bandwidth Usage (MBWU) on or after the L3 cache.
>>>>>> resctrl uses the
>>>>>> + L3 cache-id to identify where the memory bandwidth is measured.
>>>>>> For this
>>>>>> + reason the platform must have an L3 cache with cache-id's
>>>>>> supplied by
>>>>>> + firmware. (It doesn't need to support MPAM.)
>
> s/It/The platform/?
ok
>
>>>>>> +
>>>>>> + Memory bandwidth monitoring makes use of MBWU monitors in each
>>>>>> MSC that
>>>>>> + makes up the L3 group. If the memory bandwidth monitoring is on
>>>>>> the memory
>>>>>> + rather than the L3 then there must be a single global L3 as
>>>>>> otherwise it
>
> s/a single global L3/a single global L3 cache id/?
"a single global L3" seems better to me. This is just saying that the L3
is or appears to be a single L3 cache. A consequence of which is that it
will have a single cache id.
>
>>>>>> + is unknown which L3 the traffic came from.
>>>>>> +
>>>>>> + To expose 'mbm_total_bytes', the topology of the group of MSC
>>>>>> chosen must
>>>>>> + match the topology of the L3 cache so that the cache-id's can be
>>>>>> + repainted. For example: Platforms with Memory bandwidth
>>>>>> monitors on
>>>>>> + CPU-less NUMA nodes cannot expose 'mbm_total_bytes' as these
>>>>>> nodes do not
>>>>>> + have a corresponding L3 cache. 'mbm_local_bytes' is not exposed
>>>>>> as MPAM
>
> Maybe remove the CPU-less example here since you will add CPU-less info
> later?
>
> The CPU-less patches will update this document accordingly.
I think this can stay until then. It is mentioned after this that the
restrictions are not fundamental.
Thanks,
Ben
>
>>>>>> + cannot distinguish local traffic from global traffic.
>>>>>
>>>>> Hopefully we can get to a point where memory bandwidth monitoring
>>>>> data from
>>>>> CPU-less NUMA nodes can be exposed via resctrl. When considering
>>>>> such possible
>>>>
>>>> Thank you for your interest here. I hope so too.
>>>>
>>>>> future I think it may make this work easier to build on if the
>>>>> documentation
>>>>> focuses on what the current implementation supports and leave room for
>>>>> future enhancements by not constraining user space expectation with
>>>>> an absolute
>>>>> like "CPU-less NUMA nodes cannot expose 'mbm_total_bytes'".
>>>>
>>>> The intention was to describe the current limitations but I do see how
>>>> this can come across as fundamental problems rather than just that we
>>>> need to do some more work to establish how this can be done and
>>>> implement it.
>>>>
>>>> How about if I add this paragraph at the end?
>>>>
>>>> All these restrictions based on L3 cache are due to resctrl, currently,
>>>> only supporting monitoring at the scope of the L3 scope. It is expected
>>>
>>> How about "at L3 scope" instead of "at the scope of the L3 scope"?
>>
>> Sure, that reads better.
>>
>> Ben
>>
>>>
>>>> that going forward more MBWU monitors can be exposed to the user after
>>>> support for more monitoring scopes is added to resctrl.
>>> Looks good to me, thank you.
>>>
>>> Reinette
>>
> Thanks.
>
> -Fenghua
More information about the linux-arm-kernel
mailing list