Re: [PATCH v2 05/29] arm64: kconfig: Add Kconfig entry for MPAM

Ben Horgan
2025-09-12T10:15:06Z

Hi James,

On 9/10/25 21:42, James Morse wrote:
> The bulk of the MPAM driver lives outside the arch code because it
> largely manages MMIO devices that generate interrupts. The driver
> needs a Kconfig symbol to enable it. As MPAM is only found on arm64
> platforms, the arm64 tree is the most natural home for the Kconfig
> option.
>
> This Kconfig option will later be used by the arch code to enable
> or disable the MPAM context-switch code, and to register properties
> of CPUs with the MPAM driver.
>
> Signed-off-by: James Morse <james.morse@arm.com>
> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
> CC: Dave Martin <dave.martin@arm.com>
> ---
> Changes since v1:
> * Help text rewritten by Dave.
> ---
> arch/arm64/Kconfig | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
>
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index e9bbfacc35a6..4be8a13505bf 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -2060,6 +2060,29 @@ config ARM64_TLB_RANGE
> ARMv8.4-TLBI provides TLBI invalidation instruction that apply to a
> range of input addresses.
>
> +config ARM64_MPAM
> + bool "Enable support for MPAM"
> + help
> + Memory System Resource Partitioning and Monitoring (MPAM) is an
> + optional extension to the Arm architecture that allows each
> + transaction issued to the memory system to be labelled with a
> + Partition identifier (PARTID) and Performance Monitoring Group
> + identifier (PMG).
> +
> + Memory system components, such as the caches, can be configured with
> + policies to control how much of various physical resources (such as
> + memory bandwidth or cache memory) the transactions labelled with each
> + PARTID can consume. Depending on the capabilities of the hardware,
> + the PARTID and PMG can also be used as filtering criteria to measure
> + the memory system resource consumption of different parts of a
> + workload.
> +
> + Use of this extension requires CPU support, support in the
> + Memory System Components (MSC), and a description from firmware
> + of where the MSCs are in the address space.
> +
> + MPAM is exposed to user-space via the resctrl pseudo filesystem.
> +
> endmenu # "ARMv8.4 architectural features"
>
> menu "ARMv8.5 architectural features"

Seems good to me. I guess we can consider separately whether we want
this to be default or not.

Reviewed-by: Ben Horgan <ben.horgan@arm.com>

Thanks,

Ben