The narrow-partid feature in MPAM allows for a more efficient use of PARTIDs by enabling a many-to-one mapping of reqpartids (requested PARTIDs) to intpartids (internal PARTIDs). This mapping reduces the number of unique PARTIDs needed, thus allowing more tasks or processes to be monitored and managed with the available resources. For a mixture of MSCs system, for MSCs that do not support narrow-partid, we use the PARTIDs exceeding the number of closids as reqPARTIDs for expanding the monitoring groups. Therefore, we will expand the information contained in the RMID, so that it includes not only PMG, but also reqPARTIDs information. The new RMID would be like: RMID = (reqPARTID << shift | PMG). Each control group has m (req)PARTIDs, which are used to expand the number of monitoring groups under one control group. Therefore, the number of monitoring groups is no longer limited by the range of MPAM's PMG, which enhances the extensibility of the system's monitoring capabilities. Dave Martin (1): arm_mpam: Set INTERNAL as needed when setting MSC controls Zeng Heng (8): arm_mpam: Introduce the definitions of intPARTID and reqPARTID arm_mpam: Add limitation for the Narrow-PARTID feature arm_mpam: Expand the composition of RMID arm_mpam: Automatically synchronize the configuration of all sub-monitoring groups Revert "arm_mpam: Add limitation for the Narrow-PARTID feature" fs/resctrl: Add resctrl_arch_expand_rmid() fs/resctrl: Deploy resctrl_arch_expand_rmid() arm64/mpam: Add limitation arch/x86/include/asm/resctrl.h | 7 + drivers/platform/mpam/mpam_devices.c | 61 ++++- drivers/platform/mpam/mpam_internal.h | 5 + drivers/platform/mpam/mpam_resctrl.c | 355 ++++++++++++++++++++------ fs/resctrl/monitor.c | 45 +++- include/linux/arm_mpam.h | 16 ++ include/linux/resctrl.h | 18 ++ 7 files changed, 415 insertions(+), 92 deletions(-) -- 2.25.1