[PATCH v3 10/29] arm_mpam: Add cpuhp callbacks to probe MSC hardware
Shaopeng Tan (Fujitsu)
tan.shaopeng at fujitsu.com
Wed Oct 29 00:24:20 PDT 2025
> Because an MSC can only by accessed from the CPUs in its cpu-affinity set we
> need to be running on one of those CPUs to probe the MSC hardware.
>
> Do this work in the cpuhp callback. Probing the hardware will only happen
> before MPAM is enabled, walk all the MSCs and probe those we can reach that
> haven't already been probed as each CPU's online call is made.
>
> This adds the low-level MSC register accessors.
>
> Once all MSCs reported by the firmware have been probed from a CPU in their
> respective cpu-affinity set, the probe-time cpuhp callbacks are replaced. The
> replacement callbacks will ultimately need to handle save/restore of the
> runtime MSC state across power transitions, but for now there is nothing to do
> in them: so do nothing.
>
> The architecture's context switch code will be enabled by a static-key, this can
> be set by mpam_enable(), but must be done from process context, not a cpuhp
> callback because both take the cpuhp lock.
> Whenever a new MSC has been probed, the mpam_enable() work is scheduled
> to test if all the MSCs have been probed. If probing fails, mpam_disable() is
> scheduled to unregister the cpuhp callbacks and free memory.
>
> CC: Lecopzer Chen <lecopzerc at nvidia.com>
> Signed-off-by: James Morse <james.morse at arm.com>
> Reviewed-by: Jonathan Cameron <jonathan.cameron at huawei.com>
> Reviewed-by: Ben Horgan <ben.horgan at arm.com>
> Reviewed-by: Fenghua Yu <fenghuay at nvidia.com>
> Reviewed-by: Gavin Shan <gshan at redhat.com>
> Tested-by: Fenghua Yu <fenghuay at nvidia.com>
Reviewed-by: Shaopeng Tan <tan.shaopeng at jp.fujitsu.com>
More information about the linux-arm-kernel
mailing list