From: Punit Agrawal <punit.agrawal@oss.qualcomm.com>
To: Ben Horgan <ben.horgan@arm.com>
Cc: amitsinght@marvell.com, baisheng.gao@unisoc.com,
baolin.wang@linux.alibaba.com, carl@os.amperecomputing.com,
dave.martin@arm.com, david@kernel.org, dfustini@baylibre.com,
fenghuay@nvidia.com, gshan@redhat.com, james.morse@arm.com,
jonathan.cameron@huawei.com, kobak@nvidia.com,
lcherian@marvell.com, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, peternewman@google.com,
punit.agrawal@oss.qualcomm.com, quic_jiles@quicinc.com,
reinette.chatre@intel.com, rohit.mathew@arm.com,
scott@os.amperecomputing.com, sdonthineni@nvidia.com,
tan.shaopeng@fujitsu.com, xhao@linux.alibaba.com,
catalin.marinas@arm.com, will@kernel.org, corbet@lwn.net,
maz@kernel.org, oupton@kernel.org, joey.gouly@arm.com,
suzuki.poulose@arm.com, kvmarm@lists.linux.dev,
zengheng4@huawei.com, linux-doc@vger.kernel.org
Subject: Re: [PATCH v5 00/41] arm_mpam: Add KVM/arm64 and resctrl glue code
Date: Tue, 03 Mar 2026 20:18:42 +0000 [thread overview]
Message-ID: <87y0k8r7j1.fsf@stealth> (raw)
In-Reply-To: <20260224175720.2663924-1-ben.horgan@arm.com> (Ben Horgan's message of "Tue, 24 Feb 2026 17:56:39 +0000")
Hi Ben,
Ben Horgan <ben.horgan@arm.com> writes:
> The main change in this version of the mpam missing pieces series is to
> update the cdp emulation to match the resctrl interface. L2 and L3
> resources can now enable cdp separately. Cdp can't be hidden correctly for
> memory bandwidth allocation, as max per partid can't be emulated with more
> partids, and so we hide this completely when cdp is enabled. There is a little
> restructuring and a few smaller changes.
>
> Changelogs in patches
>
> It would be great to get this series merged this cycle. For that we'll need
> more testing and reviewing. Thanks!
>
> From James' cover letter:
>
> This is the missing piece to make MPAM usable resctrl in user-space. This has
> shed its debugfs code and the read/write 'event configuration' for the monitors
> to make the series smaller.
>
> This adds the arch code and KVM support first. I anticipate the whole thing
> going via arm64, but if goes via tip instead, the an immutable branch with those
> patches should be easy to do.
>
> Generally the resctrl glue code works by picking what MPAM features it can expose
> from the MPAM drive, then configuring the structs that back the resctrl helpers.
> If your platform is sufficiently Xeon shaped, you should be able to get L2/L3 CPOR
> bitmaps exposed via resctrl. CSU counters work if they are on/after the L3. MBWU
> counters are considerably more hairy, and depend on hueristics around the topology,
> and a bunch of stuff trying to emulate ABMC.
> If it didn't pick what you wanted it to, please share the debug messages produced
> when enabling dynamic debug and booting with:
> | dyndbg="file mpam_resctrl.c +pl"
>
> I've not found a platform that can test all the behaviours around the monitors,
> so this is where I'd expect the most bugs.
>
> The MPAM spec that describes all the system and MMIO registers can be found here:
> https://developer.arm.com/documentation/ddi0598/db/?lang=en
> (Ignored the 'RETIRED' warning - that is just arm moving the documentation around.
> This document has the best overview)
>
>
> Based on v7.0-rc1
>
> The series can be retrieved from:
> https://gitlab.arm.com/linux-arm/linux-bh.git mpam_resctrl_glue_v5
I booted with the series applied on an MPAM capable platform. The driver
is able to probe the L2 attached MSCs.
In terms of features, bit-mapped based cache portion partitioning works
as expected. The platform also supports additional controls (cache
capacity and priority partitioning) and monitors (memory bandwidth and
cache storage). The ones supported in MPAM driver probe OK but don't
seem to be exposed. E.g.,
mpam:mpam_resctrl_pick_counters: class 2 is a cache but not the L3
It looks like some of it is due to an impedance mismatch with resctrl
expectations but hopefully we can get to it with the basics in-place.
Feel free to add
Tested-by: Punit Agrawal <punit.agrawal@oss.qualcomm.com>
Thanks,
Punit
next prev parent reply other threads:[~2026-03-03 20:18 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-24 17:56 [PATCH v5 00/41] arm_mpam: Add KVM/arm64 and resctrl glue code Ben Horgan
2026-02-24 17:56 ` [PATCH v5 01/41] arm64/sysreg: Add MPAMSM_EL1 register Ben Horgan
2026-02-24 17:56 ` [PATCH v5 02/41] KVM: arm64: Preserve host MPAM configuration when changing traps Ben Horgan
2026-03-02 17:52 ` Marc Zyngier
2026-02-24 17:56 ` [PATCH v5 03/41] KVM: arm64: Make MPAMSM_EL1 accesses UNDEF Ben Horgan
2026-03-02 17:54 ` Marc Zyngier
2026-02-24 17:56 ` [PATCH v5 04/41] arm64: mpam: Context switch the MPAM registers Ben Horgan
2026-02-24 17:56 ` [PATCH v5 05/41] arm64: mpam: Re-initialise MPAM regs when CPU comes online Ben Horgan
2026-02-24 17:56 ` [PATCH v5 06/41] arm64: mpam: Drop the CONFIG_EXPERT restriction Ben Horgan
2026-03-09 6:42 ` Gavin Shan
2026-02-24 17:56 ` [PATCH v5 07/41] arm64: mpam: Advertise the CPUs MPAM limits to the driver Ben Horgan
2026-03-09 6:43 ` Gavin Shan
2026-02-24 17:56 ` [PATCH v5 08/41] arm64: mpam: Add cpu_pm notifier to restore MPAM sysregs Ben Horgan
2026-02-24 17:56 ` [PATCH v5 09/41] arm64: mpam: Initialise and context switch the MPAMSM_EL1 register Ben Horgan
2026-02-24 17:56 ` [PATCH v5 10/41] arm64: mpam: Add helpers to change a task or cpu's MPAM PARTID/PMG values Ben Horgan
2026-03-09 6:44 ` Gavin Shan
2026-02-24 17:56 ` [PATCH v5 11/41] KVM: arm64: Force guest EL1 to use user-space's partid configuration Ben Horgan
2026-03-02 17:58 ` Marc Zyngier
2026-03-09 6:45 ` Gavin Shan
2026-02-24 17:56 ` [PATCH v5 12/41] KVM: arm64: Use kernel-space partid configuration for hypercalls Ben Horgan
2026-03-02 18:15 ` Marc Zyngier
2026-03-03 16:33 ` Ben Horgan
2026-03-13 9:43 ` Ben Horgan
2026-02-24 17:56 ` [PATCH v5 13/41] arm_mpam: resctrl: Add boilerplate cpuhp and domain allocation Ben Horgan
2026-03-10 6:17 ` Gavin Shan
2026-03-10 10:34 ` Ben Horgan
2026-02-24 17:56 ` [PATCH v5 14/41] arm_mpam: resctrl: Pick the caches we will use as resctrl resources Ben Horgan
2026-02-24 17:56 ` [PATCH v5 15/41] arm_mpam: resctrl: Implement resctrl_arch_reset_all_ctrls() Ben Horgan
2026-02-25 11:03 ` Jonathan Cameron
2026-02-24 17:56 ` [PATCH v5 16/41] arm_mpam: resctrl: Add resctrl_arch_get_config() Ben Horgan
2026-02-24 17:56 ` [PATCH v5 17/41] arm_mpam: resctrl: Implement helpers to update configuration Ben Horgan
2026-02-24 17:56 ` [PATCH v5 18/41] arm_mpam: resctrl: Add plumbing against arm64 task and cpu hooks Ben Horgan
2026-02-24 17:56 ` [PATCH v5 19/41] arm_mpam: resctrl: Add CDP emulation Ben Horgan
2026-02-25 6:25 ` Zeng Heng
2026-02-24 17:56 ` [PATCH v5 20/41] arm_mpam: resctrl: Convert to/from MPAMs fixed-point formats Ben Horgan
2026-02-24 17:57 ` [PATCH v5 21/41] arm_mpam: resctrl: Add kunit test for control format conversions Ben Horgan
2026-02-24 17:57 ` [PATCH v5 22/41] arm_mpam: resctrl: Add rmid index helpers Ben Horgan
2026-02-24 17:57 ` [PATCH v5 23/41] arm_mpam: resctrl: Add kunit test for rmid idx conversions Ben Horgan
2026-02-24 17:57 ` [PATCH v5 24/41] arm_mpam: resctrl: Wait for cacheinfo to be ready Ben Horgan
2026-02-24 17:57 ` [PATCH v5 25/41] arm_mpam: resctrl: Add support for 'MB' resource Ben Horgan
2026-02-24 17:57 ` [PATCH v5 26/41] arm_mpam: resctrl: Add monitor initialisation and domain boilerplate Ben Horgan
2026-02-25 11:14 ` Jonathan Cameron
2026-02-26 3:47 ` Zeng Heng
2026-02-26 10:26 ` Ben Horgan
2026-02-27 3:01 ` Zeng Heng
2026-02-24 17:57 ` [PATCH v5 27/41] arm_mpam: resctrl: Add support for csu counters Ben Horgan
2026-02-24 17:57 ` [PATCH v5 28/41] arm_mpam: resctrl: Pick classes for use as mbm counters Ben Horgan
2026-02-24 17:57 ` [PATCH v5 29/41] arm_mpam: resctrl: Pre-allocate free running monitors Ben Horgan
2026-02-24 17:57 ` [PATCH v5 30/41] arm_mpam: resctrl: Allow resctrl to allocate monitors Ben Horgan
2026-02-24 17:57 ` [PATCH v5 31/41] arm_mpam: resctrl: Add resctrl_arch_rmid_read() and resctrl_arch_reset_rmid() Ben Horgan
2026-03-07 9:29 ` Zeng Heng
2026-03-09 16:30 ` Ben Horgan
2026-03-10 3:23 ` Zeng Heng
2026-02-24 17:57 ` [PATCH v5 32/41] arm_mpam: resctrl: Update the rmid reallocation limit Ben Horgan
2026-02-24 17:57 ` [PATCH v5 33/41] arm_mpam: resctrl: Add empty definitions for assorted resctrl functions Ben Horgan
2026-02-24 17:57 ` [PATCH v5 34/41] arm64: mpam: Select ARCH_HAS_CPU_RESCTRL Ben Horgan
2026-02-24 17:57 ` [PATCH v5 35/41] arm_mpam: resctrl: Call resctrl_init() on platforms that can support resctrl Ben Horgan
2026-02-24 17:57 ` [PATCH v5 36/41] arm_mpam: Add quirk framework Ben Horgan
2026-02-24 17:57 ` [PATCH v5 37/41] arm_mpam: Add workaround for T241-MPAM-1 Ben Horgan
2026-02-24 17:57 ` [PATCH v5 38/41] arm_mpam: Add workaround for T241-MPAM-4 Ben Horgan
2026-03-01 17:28 ` Fenghua Yu
2026-03-02 17:11 ` Ben Horgan
2026-03-09 17:39 ` Fenghua Yu
2026-03-10 11:26 ` Ben Horgan
2026-02-24 17:57 ` [PATCH v5 39/41] arm_mpam: Add workaround for T241-MPAM-6 Ben Horgan
2026-02-24 17:57 ` [PATCH v5 40/41] arm_mpam: Quirk CMN-650's CSU NRDY behaviour Ben Horgan
2026-02-24 17:57 ` [PATCH v5 41/41] arm64: mpam: Add initial MPAM documentation Ben Horgan
2026-02-25 11:01 ` Jonathan Cameron
2026-02-25 21:10 ` [PATCH v5 00/41] arm_mpam: Add KVM/arm64 and resctrl glue code Ben Horgan
2026-02-27 17:04 ` Catalin Marinas
2026-02-26 7:34 ` Zeng Heng
2026-03-03 20:18 ` Punit Agrawal [this message]
2026-03-04 9:42 ` Ben Horgan
-- strict thread matches above, loose matches on Subject: below --
2026-03-18 9:52 Howard Zhang
2026-03-18 11:16 ` Ben Horgan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y0k8r7j1.fsf@stealth \
--to=punit.agrawal@oss.qualcomm.com \
--cc=amitsinght@marvell.com \
--cc=baisheng.gao@unisoc.com \
--cc=baolin.wang@linux.alibaba.com \
--cc=ben.horgan@arm.com \
--cc=carl@os.amperecomputing.com \
--cc=catalin.marinas@arm.com \
--cc=corbet@lwn.net \
--cc=dave.martin@arm.com \
--cc=david@kernel.org \
--cc=dfustini@baylibre.com \
--cc=fenghuay@nvidia.com \
--cc=gshan@redhat.com \
--cc=james.morse@arm.com \
--cc=joey.gouly@arm.com \
--cc=jonathan.cameron@huawei.com \
--cc=kobak@nvidia.com \
--cc=kvmarm@lists.linux.dev \
--cc=lcherian@marvell.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=oupton@kernel.org \
--cc=peternewman@google.com \
--cc=quic_jiles@quicinc.com \
--cc=reinette.chatre@intel.com \
--cc=rohit.mathew@arm.com \
--cc=scott@os.amperecomputing.com \
--cc=sdonthineni@nvidia.com \
--cc=suzuki.poulose@arm.com \
--cc=tan.shaopeng@fujitsu.com \
--cc=will@kernel.org \
--cc=xhao@linux.alibaba.com \
--cc=zengheng4@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox