On Fri, 16 Oct 2026 at 10:47, Jinjie Ruan <[email protected]> wrote: > > From: Jinjie Ruan <[email protected]> > > MPAM (Memory System Resource Partitioning and Monitoring) is Arm's > architecture for partitioning and monitoring system memory resources > - Cache portions > - Capacity limits > - Memory bandwidth and priority > > And MPAM is the Arm counterpart of x86 RDT, which Linux exposes to user > space via resctrl. > > QEMU so far has no MPAM support at all: the CPU-side system registers > are missing (a guest kernel that probes FEAT_MPAM takes an UNDEFINED > exception), and there are no Memory System Components (MSCs), so a virt > guest cannot exercise resctrl on Arm. > > This series adds MPAM 1.1 emulation for the virt machine, > and the structure is as below:
> With this, a Linux guest booted with -M virt,mpam=on (plus NUMA nodes) > mounts resctrl with the full schemata set (L2/L3 CAT, capacity, MBA, > priority), and MBM bandwidth and L2/L3 occupancy counters track the > configured controls. I guess my question here is "how much is this actually doing, and how much is it 'we provide enough software-facing interface to keep the guest happy'" ? My (rather shallow) understanding of MPAM is that it's essentially adding tags to memory transactions and then accounting how much bandwidth each tag is using. That seems obviously infeasible for emulation, but on the other hand this looks like it's rather larger than a minimal "we provide the register interface but it does nothing", so what are we doing? thanks -- PMM
