From: Zeng Heng <zengheng4@huawei.com>
To: "Shaopeng Tan (Fujitsu)" <tan.shaopeng@fujitsu.com>,
"'ben.horgan@arm.com'" <ben.horgan@arm.com>,
"'james.morse@arm.com'" <james.morse@arm.com>,
"'Dave.Martin@arm.com'" <Dave.Martin@arm.com>,
"'reinette.chatre@intel.com'" <reinette.chatre@intel.com>,
"'fenghuay@nvidia.com'" <fenghuay@nvidia.com>
Cc: "'dave.hansen@linux.intel.com'" <dave.hansen@linux.intel.com>,
"'tglx@kernel.org'" <tglx@kernel.org>,
"'mingo@redhat.com'" <mingo@redhat.com>,
"'hpa@zytor.com'" <hpa@zytor.com>,
"'bp@alien8.de'" <bp@alien8.de>,
"'tony.luck@intel.com'" <tony.luck@intel.com>,
"'babu.moger@amd.com'" <babu.moger@amd.com>,
"'x86@kernel.org'" <x86@kernel.org>,
"'linux-kernel@vger.kernel.org'" <linux-kernel@vger.kernel.org>,
"'wangkefeng.wang@huawei.com'" <wangkefeng.wang@huawei.com>,
<leijitang@huawei.com>
Subject: Re: [PATCH v3 0/9] arm_mpam: Introduce Narrow-PARTID feature
Date: Sat, 11 Apr 2026 14:32:55 +0800 [thread overview]
Message-ID: <b1f867e9-19ff-a6cd-1294-5b962aca50b2@huawei.com> (raw)
In-Reply-To: <TY4PR01MB16930C42984CD56A72F04F1838B592@TY4PR01MB16930.jpnprd01.prod.outlook.com>
Hi Shaopeng,
On 2026/4/10 8:13, Shaopeng Tan (Fujitsu) wrote:
> Hello Zeng Heng,
>
>> This series applies on top of the mpam_resctrl_glue_v5_debugfs branch of:
>> https://gitlab.arm.com/linux-arm/linux-bh.git
>>
>> Background
>> ==========
>>
>> On x86, the resctrl allows creating up to num_rmids monitoring groups under
>> parent control group. However, ARM64 MPAM is currently limited by the PMG
>> (Performance Monitoring Group) count, which is typically much smaller than
>> the theoretical RMID limit. This creates a significant scalability gap: users
>> expecting fine-grained per-process or per-thread monitoring quickly exhaust
>> the PMG space, even when plenty of reqPARTIDs remain available.
>>
>> The Narrow-PARTID feature, defined in the ARM MPAM architecture,
>> addresses this by associating reqPARTIDs with intPARTIDs through a
>> programmable many-to-one mapping. This allows the kernel to present more
>> logical monitoring contexts.
>>
>> Design Overview
>> ===============
>>
>> The implementation extends the RMID encoding to carry reqPARTID
>> information:
>>
>> RMID = reqPARTID * NUM_PMG + PMG
>>
>> In this patchset, a monitoring group is uniquely identified by the combination of
>> reqPARTID and PMG. The closid is represented by intPARTID, which is exactly
>> the original PARTID.
>>
>> For systems with homogeneous MSCs (all supporting Narrow-PARTID), the
>> driver exposes the full reqPARTID range directly. For heterogeneous systems
>> where some MSCs lack Narrow-PARTID support, the driver utilizes PARTIDs
>> beyond the intPARTID range as reqPARTIDs to expand monitoring capacity.
>> The sole exception is when MBA MSCs lack Narrow-PARTID support, their
>> percentage-based control mechanism prevents the use of PARTIDs as
>> reqPARTIDs.
>>
>> Capacity Improvements
>> =====================
>>
>> --------------------------------------------------------------------------
>> The maximum | Sub-monitoring groups | System-wide
>> number of | under a control group | monitoring groups
>> --------------------------------------------------------------------------
>> Without | |
>> reqPARTID | PMG | intPARTID *
>> PMG
>> --------------------------------------------------------------------------
>> reqPARTID | |
>> static allocation | (reqPARTID // intPARTID) * PMG | reqPARTID * PMG
>> --------------------------------------------------------------------------
>> reqPARTID | |
>> dynamic allocation | (reqPARTID − intPARTID + 1) * PMG | reqPARTID * PMG
>> --------------------------------------------------------------------------
>>
>> Under MPAM, the number of reqPARTID is always greater than or equal to
>> intPARTID.
>
> If reqPARTID % intPARTID > 0, does that mean we cann’t fully use reqPARTIDs?
> Some chips have a large number of intPARTIDs, is it possible to use only a limited number of intPARTIDs?
Thanks for the feedback.
Consider adding a boot parameter to allow users to limit the number of
intPARTIDs, and this parameter should satisfy the constraint:
reqPARTID % intPARTID == 0
Alternatively, we also provided dynamic allocation of reqPARTIDs. This
approach would maximize resource utilization, providing number of
monitor groups up to:
(reqPARTID - intPARTID + 1) * PMG
>
> As you know, Arm (Dave) has also implemented the partid narrowing feature[1],
> are there aspects of Arm's proposal that do not meet Huawei's requirements?
> Also, could you tell me about your future plans?
> https://lore.kernel.org/lkml/20250117151033.1517882-1-Dave.Martin@arm.com/ [1]
>
Huawei does not have any specific requirements or constraints for this
feature. When we initially tried to send this patch series, there was no
existing implementation of this capability in the community.
In addition to the static allocation approach similar to Dave's
proposal, we have also provided the dynamic allocation scheme mentioned
above. However, this would require moderate changes to the resctrl core
layer.
If the community has not yet implemented this feature and would be
willing to provide review feedback, we are committed to continuously
updating and iterating on this patch series for general MPAM hardware
platforms.
Best regards,
Zeng Heng
next prev parent reply other threads:[~2026-04-11 6:33 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-17 13:21 Zeng Heng
2026-03-17 13:21 ` [PATCH v3 1/9] fs/resctrl: Fix MPAM Partid parsing errors by preserving CDP state during umount Zeng Heng
2026-03-20 17:07 ` Ben Horgan
2026-03-21 4:11 ` Zeng Heng
2026-03-21 6:39 ` Zeng Heng
2026-03-17 13:21 ` [PATCH v3 2/9] arm_mpam: Add intPARTID and reqPARTID support for narrow PARTID feature Zeng Heng
2026-03-17 13:21 ` [PATCH v3 3/9] arm_mpam: Disable Narrow-PARTID when MBA lacks support Zeng Heng
2026-04-10 1:07 ` Shaopeng Tan (Fujitsu)
2026-04-11 6:50 ` Zeng Heng
2026-04-13 9:12 ` Zeng Heng
2026-03-17 13:21 ` [PATCH v3 4/9] arm_mpam: Refactor rmid to reqPARTID/PMG mapping Zeng Heng
2026-03-17 13:21 ` [PATCH v3 5/9] arm_mpam: Propagate control group config to sub-monitoring groups Zeng Heng
2026-03-17 13:21 ` [PATCH v3 6/9] fs/resctrl: Add rmid_entry state helpers Zeng Heng
2026-03-17 13:21 ` [PATCH v3 7/9] arm_mpam: Implement dynamic reqPARTID allocation for monitoring groups Zeng Heng
2026-03-17 13:21 ` [PATCH v3 8/9] fs/resctrl: Wire up rmid expansion and reclaim functions Zeng Heng
2026-03-17 13:21 ` [PATCH v3 9/9] arm64/mpam: Add mpam_sync_config() for dynamic rmid expansion Zeng Heng
2026-03-20 16:14 ` [PATCH v3 0/9] arm_mpam: Introduce Narrow-PARTID feature Ben Horgan
2026-03-21 7:18 ` Zeng Heng
2026-04-10 0:13 ` Shaopeng Tan (Fujitsu)
2026-04-11 6:32 ` Zeng Heng [this message]
2026-04-16 6:11 ` Shaopeng Tan (Fujitsu)
2026-04-20 8:19 ` Zeng Heng
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=b1f867e9-19ff-a6cd-1294-5b962aca50b2@huawei.com \
--to=zengheng4@huawei.com \
--cc=Dave.Martin@arm.com \
--cc=babu.moger@amd.com \
--cc=ben.horgan@arm.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=fenghuay@nvidia.com \
--cc=hpa@zytor.com \
--cc=james.morse@arm.com \
--cc=leijitang@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=reinette.chatre@intel.com \
--cc=tan.shaopeng@fujitsu.com \
--cc=tglx@kernel.org \
--cc=tony.luck@intel.com \
--cc=wangkefeng.wang@huawei.com \
--cc=x86@kernel.org \
/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
all inboxes | Powered by JetHome®