Skip to content

26.04_linux-nvidia-bos: Please pull MPAM 26.04 linux nvidia bos.glue.others.cpu less.hardlimit#429

Closed
fyu1 wants to merge 111 commits into
NVIDIA:26.04_linux-nvidia-bosfrom
fyu1:26.04_linux-nvidia-bos.glue.others.cpu_less.hardlimit
Closed

26.04_linux-nvidia-bos: Please pull MPAM 26.04 linux nvidia bos.glue.others.cpu less.hardlimit#429
fyu1 wants to merge 111 commits into
NVIDIA:26.04_linux-nvidia-bosfrom
fyu1:26.04_linux-nvidia-bos.glue.others.cpu_less.hardlimit

Conversation

@fyu1
Copy link
Copy Markdown
Collaborator

@fyu1 fyu1 commented May 18, 2026

This MPAM PR has 4 parts:

  1. The first 47 patches are cherry picked from 7.1-rc upstream for MPAM part 2 glue series;
  2. The patch 48 enable RESCTRL_FS in annotations
  3. The patches 49-114 are VR features (iommu, cmin/cmax, cpu-less and hardlimit) and are forward ported from 6.17 hwe kernel.
  4. The patch 115 fixes a couple of bugs on Grace.

Let me fix a few small issue before you could review and merge the PR.

@nirmoy
Copy link
Copy Markdown
Collaborator

nirmoy commented May 18, 2026

Boro watcher review skipped

The GitHub watcher skips automatic boro reviews for PRs with more than 50 commits. This PR currently has 100 commits.

To run the review anyway, ask BaseOS_Kernel_Bot in #baseos-kernel:

review https://github.com/NVIDIA/NV-Kernels/pull/429

Head: 4b0a71fc64c9

This comment is maintained by nv-pr-bot. It is updated when the GitHub watcher sees a newer PR head.

@fyu1 fyu1 changed the title Please pull 26.04 linux nvidia bos.glue.others.cpu less.hardlimit Please pull MPAM 26.04 linux nvidia bos.glue.others.cpu less.hardlimit May 18, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 18, 2026

PR Validation Report

Patchscan ✅ No Missing Fixes

All cherry-picked commits checked — no missing upstream fixes found.

PR Lint ❌ Errors found

Details
Checking 111 commits...

Cherry-pick digest:
┌──────────────┬──────────────────────────────────────────────────────────────────┬────────────┬─────────┬───────────────────────────┐
│ Local        │ Referenced upstream / Patch subject                              │ Patch-ID   │ Subject │ SoB chain                 │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 4b0a71fc64c9 │ [SAUCE] fix mbm_l3_assign and mon_local_bytes                    │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 05a48f4a479f │ [SAUCE] documentation: resctrl: document max_lim and mb_hlim for │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 8a7d3d9da812 │ [SAUCE] resctrl: add mba max_lim sysfs and visibility from init  │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 22f20ba448b3 │ [SAUCE] resctrl/mpam: populate mba mb_max_lim from mpam probe    │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 7d3d5938e169 │ [SAUCE] resctrl: add membw.mb_max_lim and arch_has_mb_max_lim    │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 975c462d83a9 │ [SAUCE] resctrl/mpam: bind mb_hlim resource to mba mpam class    │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 95e05b34ad6a │ [SAUCE] resctrl/mpam: track mbw max hard-limit in config         │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 3eb3adac786c │ [SAUCE] resctrl/mpam: probe mpamf_mbw_idr max_lim and hardlim_rw │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ ce42a28a1e3e │ [SAUCE] resctrl: wire mb_hlim schemata parsing and group setup   │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 947296d20eaa │ [SAUCE] resctrl: add mb_hlim resource id and schema type         │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 4505fc9852e7 │ [SAUCE] iommu/arm-smmu-v3: fix mpam for indentity-mappings       │ N/A        │ N/A     │ sdonthin, fenghuay        │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 00e1b54fd235 │ [SAUCE] resctrl/mpam: reset ris by applying explicit default con │ N/A        │ N/A     │ sdonthin, fenghuay        │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ f8cd66e2cb05 │ [SAUCE] arm_mpam: include all associated msc components during d │ N/A        │ N/A     │ sdonthin, fenghuay        │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 69bcb5280a79 │ [SAUCE] arm_mpam: handle cpu-less numa nodes                     │ N/A        │ N/A     │ sdonthin, fenghuay        │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ b8e09b461c25 │ [SAUCE] arm_mpam: avoid msc teardown for the sw programming erro │ N/A        │ N/A     │ sdonthin, fenghuay        │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ dc60486ba713 │ [SAUCE] arm_mpam: resctrl: add the glue code to convert to/from  │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 87c7499cee73 │ [SAUCE] fs/resctrl: add l2 and l3 'max' resource schema          │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 74805e5fe2ea │ [SAUCE] fs/resctrl: expose the schema format to user-space       │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 8b5afb8cf5d9 │ [SAUCE] fs/resctrl: add fflags_from_schema() for files based on  │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ a62fa0aad781 │ [SAUCE] fs/resctrl: add additional files for percentage and bitm │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 39c790272e76 │ [SAUCE] fs/resctrl: remove 'range' schema format                 │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ a25e4b83adc4 │ [SAUCE] arm_mpam: resctrl: convert mb resource to use percentage │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ fbc43e9d1c9c │ [SAUCE] x86/resctrl: move over to specifying mba control formats │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ ed29009ba6fe │ [SAUCE] fs/resctrl: add specific schema types for 'range'        │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 1f9178ab7c84 │ [SAUCE] fs/resctrl: use schema format to check the resource is a │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 672ee142adf0 │ [SAUCE] fs/resctrl: add a schema format to the schema, allowing  │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 6437619dc879 │ [SAUCE] fs/resctrl: rename resctrl_get_default_ctrl() to include │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 1f12ffe35794 │ [SAUCE] fs/resctrl: move mba supported check to parse_line() ins │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 41a28ca404d6 │ [SAUCE] fs/resctrl: abstract duplicate domain test to a helper   │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ e954d8bddd0f │ [SAUCE] fs/resctrl: group all the mba specific properties in a s │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 6b8a14a7e949 │ [SAUCE] arm_mpam: rename mbw conversion to 'fract16' for code re │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 47a4899bf039 │ [SAUCE] arm_mpam: allow cmax/cmin to be configured               │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 9f21ac21ad72 │ [SAUCE] fs/resctrl: uniform data type of component_id/domid/id/c │ N/A        │ N/A     │ nie, morse, fenghuay      │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ ac469cd025c7 │ [SAUCE] fs/restrl: allow the overflow handler to be disabled     │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 2afba6327485 │ [SAUCE] arm_mpam: resctrl: determine if any exposed counter can  │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ d7699240c842 │ [SAUCE] x86/resctrl: add stub to allow other architecture to dis │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ e0d951b47797 │ [SAUCE] fs/resctrl: add support for assigning iommu_groups to re │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 82672d5801fe │ [SAUCE] arm_mpam: resctrl: add iommu helpers to get/set the part │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ cdd84ff0a6e7 │ [SAUCE] kobject: add kset_get_next_obj() to allow a kset to be w │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 42687ed4e9fb │ [SAUCE] iommu: add helper to retrieve iommu kset                 │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ f89dc869426d │ [SAUCE] iommu: add helpers to retrieve iommu_groups by id or kob │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 5366fce48b11 │ [SAUCE] iommu: add helpers to get and set the qos state          │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 682549646324 │ [SAUCE] iommu/arm-smmu-v3: add mpam helpers to query and set sta │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ da6245857206 │ [SAUCE] iommu/arm-smmu-v3: register smmu capabilities with mpam  │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 2166cb2d48ec │ [SAUCE] fs/resctrl: add this_is_not_abi mount option             │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 9ac83dbaacef │ [SAUCE] arm_mpam: allow msc to be forced to have an unknown loca │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 73c519d99bf8 │ [SAUCE] arm_mpam: allow the maximum partid to be overridden from │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 873dd8edbdd3 │ [SAUCE] arm_mpam: split the locking around the mon_sel registers │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 6f26135ce1d0 │ [SAUCE] fs/resctrl,x86/resctrl: factor mba rounding to be per-ar │ N/A        │ N/A     │ Martin, morse, fenghuay   │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 6f1247d21cb3 │ [SAUCE] arm_mpam: add resctrl_arch_round_bw()                    │ N/A        │ N/A     │ Martin, morse, fenghuay   │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 698156c37592 │ [SAUCE] arm_mpam: expose the number of nrdy retries in debugfs   │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ cd21ac3a8838 │ [SAUCE] arm_mpam: add force-disable debugfs trigger              │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ eb280036662a │ [SAUCE] arm_mpam: add debugfs entries to show the msc/ris the dr │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 8dcb15b7b6a7 │ [SAUCE] debugfs: add helpers for creating cpumask entries in deb │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ ef185f19579f │ [SAUCE] fs/resctrl: avoid a race with dom_data_exit() and rmid_p │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 6905c3a5ecef │ [SAUCE] fs/resctrl: avoid a race with dom_data_exit() and closid │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ cb1e6e3841b4 │ [SAUCE] arm_mpam: resctrl: add resctrl_arch_cntr_read() & resctr │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 0fe31973d7b7 │ [SAUCE] arm_mpam: resctrl: add resctrl_arch_rmid_read() and resc │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ e8baad79a10f │ [SAUCE] arm_mpam: resctrl: add resctrl_arch_config_cntr() for ab │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ a71e580ae466 │ [SAUCE] arm_mpam: resctrl: add kunit test for abmc/cdp interacti │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ ae994f07c631 │ [SAUCE] arm_mpam: resctrl: pre-allocate assignable monitors      │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 7e6d4204e947 │ [SAUCE] arm_mpam: resctrl: pre-allocate free running monitors    │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ f671045ee15a │ [SAUCE] untested: arm_mpam: resctrl: pick classes for use as mbm │ N/A        │ N/A     │ morse, fenghuay           │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 9db0ed4aec3c │ [SAUCE] update annotations to set config_resctrl_fs              │ N/A        │ N/A     │ fenghuay                  │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 1ff8ae6853ab │ 4d5bbbafc170 arm_mpam: resctrl: Make resctrl_mon_ctx_waiters sta │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼──
... (middle truncated; see Actions log for full output) ...
                 │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ bf1b1e402842 │ d2bf45d067c7 fs/resctrl: Add "*" shorthand to set io_alloc CBM f │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ a20adf125c71 │ d06b8e7c97c3 fs/resctrl: Report invalid domain ID when parsing i │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 977bebb074bc │ 4ce0a2ccc035 arm64: mpam: Add initial MPAM documentation         │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 394cf4db6e0c │ aeb8595a5f8b arm_mpam: Quirk CMN-650's CSU NRDY behaviour        │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 05f495f0f336 │ dc48eb1ff27c arm_mpam: Add workaround for T241-MPAM-6            │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ d0ac70cdbede │ a7efe23ed6dd arm_mpam: Add workaround for T241-MPAM-4            │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ d2406fcdc69b │ 70e81fbedc65 arm_mpam: Add workaround for T241-MPAM-1            │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 5d6e1962d97e │ fa7745218c98 arm_mpam: Add quirk framework                       │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 5b7dfbc80245 │ fb481ec08699 arm_mpam: resctrl: Call resctrl_init() on platforms │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ e4ce46e6edcf │ 4aab135bda16 arm64: mpam: Select ARCH_HAS_CPU_RESCTRL            │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ f4a9f99555fc │ ec9a788620be ALSA: usb-audio: Replace hard-coded number with MAX │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 9f2409504677 │ efc775eadce2 arm_mpam: resctrl: Add empty definitions for assort │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ f315aa8dc662 │ 49b04e401825 arm_mpam: resctrl: Update the rmid reallocation lim │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 91f299f49f93 │ fb56b29932ca arm_mpam: resctrl: Add resctrl_arch_rmid_read()     │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 03c8f0f7634a │ 2a3c79c61539 arm_mpam: resctrl: Allow resctrl to allocate monito │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 6031141567c0 │ 1458c4f05335 arm_mpam: resctrl: Add support for csu counters     │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 2c57884ecb38 │ 264c285999fc arm_mpam: resctrl: Add monitor initialisation and d │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 6f3f150ec99e │ 5dc8f73eaa5d arm_mpam: resctrl: Add kunit test for control forma │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 8d0c0b91cd5d │ 36528c7681b8 arm_mpam: resctrl: Add support for 'MB' resource    │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 129183730714 │ 1c1e2968a860 arm_mpam: resctrl: Wait for cacheinfo to be ready   │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 2903f942b4f6 │ 3e9b35823aab arm_mpam: resctrl: Add rmid index helpers           │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 5ffe5c451dd6 │ 80d147d29313 arm_mpam: resctrl: Convert to/from MPAMs fixed-poin │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 3bd4ec1f314e │ 01a0021f6c39 arm_mpam: resctrl: Hide CDP emulation behind CONFIG │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ a5f2c85811c0 │ 6789fb99282c arm_mpam: resctrl: Add CDP emulation                │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ e2378022d4f4 │ 9d2e1a99fae5 arm_mpam: resctrl: Add plumbing against arm64 task  │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ ec91dd0a9733 │ 9cd2b522be2c arm_mpam: resctrl: Implement helpers to update conf │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 4f1d326dbc31 │ 02cc66168788 arm_mpam: resctrl: Add resctrl_arch_get_config()    │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ a6fa04eae0dd │ 370d166d878d arm_mpam: resctrl: Implement resctrl_arch_reset_all │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 8f48061f1f14 │ 52a4edb16121 arm_mpam: resctrl: Pick the caches we will use as r │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 71887ab3295b │ 09e61daf8e96 arm_mpam: resctrl: Add boilerplate cpuhp and domain │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 4b7947823729 │ 2cf9ca3fae38 arm64: mpam: Add helpers to change a task or cpu's  │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 799d21ff7c70 │ 37fe0f984d9c arm64: mpam: Initialise and context switch the MPAM │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ c4a731e8cf22 │ 735dad999905 arm64: mpam: Add cpu_pm notifier to restore MPAM sy │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ e6cf3051f8f2 │ 831a7f16728c arm64: mpam: Advertise the CPUs MPAM limits to the  │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ ad500847b603 │ c544f00a4732 arm64: mpam: Drop the CONFIG_EXPERT restriction     │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 63124cbcef7b │ 87b78a5d70e8 arm64: mpam: Re-initialise MPAM regs when CPU comes │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 170f7409764d │ 8e06d04ff1cf arm64: mpam: Context switch the MPAM registers      │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 8dbfe12fcaad │ 2e7c684bdb50 KVM: arm64: Make MPAMSM_EL1 accesses UNDEF          │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 825596ffeebe │ eda1cd1f9d29 KVM: arm64: Preserve host MPAM configuration when c │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 662fb761551a │ 29fa1be82b83 arm64/sysreg: Add MPAMSM_EL1 register               │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ f2f95514d3f6 │ a1cb6577f575 arm_mpam: Reset when feature configuration bit unse │ match      │ match   │ preserved + fenghuay adde │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 3f9077acb96d │ f91e913355f4 arm_mpam: Ensure in_reset_state is false after appl │ match      │ match   │ preserved + fenghuay adde │
└──────────────┴──────────────────────────────────────────────────────────────────┴────────────┴─────────┴───────────────────────────┘

Lint results:
W: 5b7dfbc80245 ("arm_mpam: resctrl: Call resctrl_init() on platform"): subject 76 chars (>72)
W: 4b7947823729 ("arm64: mpam: Add helpers to change a task or cpu's"): subject 73 chars (>72)

PR metadata:
W: PR title missing [<branch>] prefix: "26.04_linux-nvidia-bos: Please pull MPAM 26.04 linux nvidia bos.glue.others.cpu "
E: PR targets 26.04_linux-nvidia-bos but body has no https://bugs.launchpad.net/... link

@clsotog
Copy link
Copy Markdown
Collaborator

clsotog commented May 18, 2026

Some findings from Codex:

  • [P1] drivers/resctrl/mpam_fb.c:124 and :155: the PCC buffer-size checks are reversed. if (msg_len < chan->pcc_shmem_size) return -EINVAL; rejects normal fitting messages and allows oversized messages to reach memcpy(). This should be msg_len > chan->pcc_shmem_size.
  • [P1] drivers/resctrl/mpam_fb.c:116 and :147: SCMI transfer errors are ignored. Reads return success with possibly uninitialized result, and writes report success even if firmware rejected the transfer. The return from mpam_transfer_buf() needs to propagate back to
    callers.
  • [P1] drivers/acpi/arm64/mpam.c:184: the interconnect descriptor UUID check is inverted. The code errors when guid_equal() is true, so valid descriptor tables are rejected and invalid UUIDs continue parsing.
  • [P1] drivers/resctrl/mpam_resctrl.c:1645: mpam_resctrl_monitor_init() ignores the return value from mpam_resctrl_monitor_init_abmc(). On allocation failure, assigned_counters can be left as an ERR_PTR, setup still succeeds, and later counter assignment paths can
    dereference it.
  • [P2] fs/resctrl/rdtgroup.c:906: show_rdt_iommu() calls iommu_group_get_from_kobj() but never calls iommu_group_put() for each returned group. Reading the tasks file leaks one IOMMU group reference per listed group.

@nirmoy nirmoy added the help wanted Extra attention is needed label May 21, 2026
@nvidia-bfigg nvidia-bfigg force-pushed the 26.04_linux-nvidia-bos branch from b496691 to 3ab3db0 Compare May 22, 2026 12:02
@fyu1
Copy link
Copy Markdown
Collaborator Author

fyu1 commented May 22, 2026

Some findings from Codex:

  • [P1] drivers/resctrl/mpam_fb.c:124 and :155: the PCC buffer-size checks are reversed. if (msg_len < chan->pcc_shmem_size) return -EINVAL; rejects normal fitting messages and allows oversized messages to reach memcpy(). This should be msg_len > chan->pcc_shmem_size.
  • [P1] drivers/resctrl/mpam_fb.c:116 and :147: SCMI transfer errors are ignored. Reads return success with possibly uninitialized result, and writes report success even if firmware rejected the transfer. The return from mpam_transfer_buf() needs to propagate back to
    callers.
    Firmware Backend (FB) MSC access feature is not supported on Grace/Vera. I will remove the two FB related patches. So the above two issues should be gone.
  • [P1] drivers/acpi/arm64/mpam.c:184: the interconnect descriptor UUID check is inverted. The code errors when guid_equal() is true, so valid descriptor tables are rejected and invalid UUIDs continue parsing.
    Currently Grace/Vera don't support interconnect type of MSC. The code here just show it's not supported. If the feature is supported in the future. This code needs to be changed and mode code will be added.
    So no change here now.
  • [P1] drivers/resctrl/mpam_resctrl.c:1645: mpam_resctrl_monitor_init() ignores the return value from mpam_resctrl_monitor_init_abmc(). On allocation failure, assigned_counters can be left as an ERR_PTR, setup still succeeds, and later counter assignment paths can
    dereference it.
    Fixed.
  • [P2] fs/resctrl/rdtgroup.c:906: show_rdt_iommu() calls iommu_group_get_from_kobj() but never calls iommu_group_put() for each returned group. Reading the tasks file leaks one IOMMU group reference per listed group.
    Fixed.

Thank you for your comments!

@nvidia-bfigg nvidia-bfigg force-pushed the 26.04_linux-nvidia-bos branch from 3ab3db0 to 704a746 Compare May 22, 2026 19:37
@fyu1 fyu1 force-pushed the 26.04_linux-nvidia-bos.glue.others.cpu_less.hardlimit branch from cdbc0b6 to 053ad57 Compare May 22, 2026 21:49
@fyu1
Copy link
Copy Markdown
Collaborator Author

fyu1 commented May 22, 2026

For the bot checks failures, are they real errors? e.g.
E: Commit messages differ: upstream 'NVIDIA: SAUCE: arm_mpam: resctrl: Add resctrl_arch_rmid_read() and resctrl_arch_reset_rmid()' != pick 'NVIDIA: VR: SAUCE: arm_mpam: resctrl: Add resctrl_arch_rmid_read() and resctrl_arch_reset_rmid()'
ERROR: failed to verify commit fc05830
Why has this failure?

@fyu1 fyu1 force-pushed the 26.04_linux-nvidia-bos.glue.others.cpu_less.hardlimit branch 2 times, most recently from 528acc7 to 76c318a Compare May 26, 2026 02:55
@nirmoy
Copy link
Copy Markdown
Collaborator

nirmoy commented May 26, 2026

For the bot checks failures, are they real errors? e.g. E: Commit messages differ: upstream 'NVIDIA: SAUCE: arm_mpam: resctrl: Add resctrl_arch_rmid_read() and resctrl_arch_reset_rmid()' != pick 'NVIDIA: VR: SAUCE: arm_mpam: resctrl: Add resctrl_arch_rmid_read() and resctrl_arch_reset_rmid()' ERROR: failed to verify commit fc05830 Why has this failure?

@fyu1 Current errors are now:

Lint results:
W: 212c070424a2 ("arm_mpam: resctrl: Call resctrl_init() on platform"): subject 76 chars (>72)
W: f83faa298a4d ("arm64: mpam: Add helpers to change a task or cpu's"): subject 73 chars (>72)

PR metadata:
W: PR title missing [<branch>] prefix: "Please pull MPAM 26.04 linux nvidia bos.glue.others.cpu less.hardlimit"
E: PR targets 26.04_linux-nvidia-bos but body has no https://bugs.launchpad.net/... link

@nirmoy nirmoy added the question Further information is requested label May 26, 2026
@nirmoy
Copy link
Copy Markdown
Collaborator

nirmoy commented May 26, 2026

PR #429 validation update

Tested current PR head 76c318a30860d850767557781aa38737283d6c0e on the VR NVL72 host nvidia@10.104.16.33.

Platform / firmware observed during the run:

Kernel: 7.0.0-pr429-76c318a+
SBIOS:  buildbrain-gcid-sbios-44996224-23
Date:   Wed Apr 15 09:29:42 PM UTC 2026
DMI:    NVIDIA VR NVL72 / P3809-BMC

Kernel boot and resctrl smoke

The PR kernel built, installed, and booted successfully.

MPAM enabled with 47 PARTIDs and 2 PMGs

Basic resctrl validation passed:

  • resctrl mounted successfully.
  • Resources were present: L3, L3_MAX, L3_MON, MB, MB_HLIM, MB_MON.
  • Default schemata looked sane: L3_MAX:1=100;2=100, MB:0=100;1=100.
  • Throwaway resctrl group creation and unchanged schemata write/readback passed.
  • Manual mbm_total_bytes assignment on the default group worked: mbm_total_bytes:0=_;1=_ -> mbm_total_bytes:0=e;1=e, available counters went 0=9;1=9 -> 0=8;1=8, and restore returned them to 0=9;1=9.
  • A larger streaming workload moved the counters. Pinned CPU0 primarily moved mon_MB_00; pinned CPU88 primarily moved mon_MB_01, matching the two-socket topology.

Concern: Carol's earlier review comments still need follow-up

I am concerned that Carol's earlier review comment has not been fully addressed in the current head.

What I see at 76c318a30860:

  • The two drivers/resctrl/mpam_fb.c issues appear to be gone because drivers/resctrl/mpam_fb.c is no longer present.

  • drivers/acpi/arm64/mpam.c:184 still appears to have the inverted interconnect descriptor UUID check:

    if (guid_equal(&spec_uuid, &int_tbl_uuid)) {
            pr_err_once("Bad UUID for interconnect descriptor on msc %u\n",
                        tbl_msc->identifier);
            return -EINVAL;
    }

    Even if interconnect MSCs are not supported on Grace/Vera today, this still looks like wrong code left in the tree rather than an addressed fix.

  • drivers/resctrl/mpam_resctrl.c:1645 still ignores the return value from mpam_resctrl_monitor_init_abmc(mon):

    mpam_resctrl_monitor_init_abmc(mon);
    return 0;
  • fs/resctrl/rdtgroup.c:912-914 no longer leaks the IOMMU group reference, but the current fix looks unsafe because it drops the reference before using group:

    iommu_group_put(group);
    
    if (iommu_matches_rdtgroup(group, r))
            seq_printf(s, "iommu_group:%s\n", group_kobj->name);

Could we please either fix these remaining items or document why the current code is intentionally safe?

@clsotog
Copy link
Copy Markdown
Collaborator

clsotog commented May 26, 2026

I have these comments from the patches

  1. fs/resctrl/rdtgroup.c:854 - IOMMU task writes fall through into the PID path. After a successful rdtgroup_move_iommu(), the loop still evaluates pid < 0 and calls rdtgroup_move_task(pid, ...), but pid is only set in the non-IOMMU branch. An iommu_group: write can therefore use an uninitialized PID, or reuse the previous PID in mixed
    input. Add a continue after successful IOMMU handling or split the branches.
  2. fs/resctrl/rdtgroup.c:3080 - rdt_get_tree() enables resctrl_abi_playground before the single-mount check and before later setup can fail. A failed mount -o this_is_not_abi attempt, including the normal -EBUSY path when resctrl is already mounted, leaves the static key enabled and may change the tasks file mode even though the mount
    failed. This should be enabled only after failure paths are past, or unwound on every error exit.

@jamieNguyenNVIDIA
Copy link
Copy Markdown
Collaborator

I have these comments from the patches

  1. fs/resctrl/rdtgroup.c:854 - IOMMU task writes fall through into the PID path. After a successful rdtgroup_move_iommu(), the loop still evaluates pid < 0 and calls rdtgroup_move_task(pid, ...), but pid is only set in the non-IOMMU branch. An iommu_group: write can therefore use an uninitialized PID, or reuse the previous PID in mixed
    input. Add a continue after successful IOMMU handling or split the branches.
  2. fs/resctrl/rdtgroup.c:3080 - rdt_get_tree() enables resctrl_abi_playground before the single-mount check and before later setup can fail. A failed mount -o this_is_not_abi attempt, including the normal -EBUSY path when resctrl is already mounted, leaves the static key enabled and may change the tasks file mode even though the mount
    failed. This should be enabled only after failure paths are past, or unwound on every error exit.

+1 on the first finding. The current PR partly addresses the error path (added break; on rdtgroup_move_iommu() failure), but the success path still falls through into rdtgroup_move_task(pid, …) with an uninitialised pid.

                if (is_iommu) {
                        ret = rdtgroup_move_iommu(iommu_group_id, rdtgrp, of);
                        if (ret)
                                break;
+                       continue;
                } else if (kstrtoint(pid_str, 0, &pid)) {
                        rdt_last_cmd_printf("Task list parsing error pid %s\n", pid_str);
                        ret = -EINVAL;
                        break;
                }

James Morse and others added 26 commits May 29, 2026 00:29
…g it to be different

parse_bw() doesn't bother checking the bounds it is given if the
resource is in use by mba_sc. This is because the values parsed from
user-space are not the same as those the control should take.
To make this disparity easier to work with, a second different copy
of the schema format is needed, which would need a version of
resctrl_get_default_ctrl(). This would let the resctrl change the
schema format presented to user-space, provided it converts it to match
what the architecture code expects.
Add a second schema format for use with mba_sc. The membw properties
are copied and the schema version is used. When mba_sc is enabled
the schema copy of these properties is modified.

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit 225d28e https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `fs/resctrl/ctrlmondata.c`;
  - Resolve minor conflicts in `include/linux/arm_mpam.h`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
…e is a bitmap

rdtgroup_cbm_to_size() uses a WARN_ON_ONCE() to assert that the resource
it has been passed is one of the L2 or L3 cache. This is to avoid using
uninitialised bitmap properties.
Updating this list for every resource that is configured by a bitmap
doesn't scale. Instead change the WARN_ON_ONCE() to use the schema
format the arch code requested for the resource.

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit 04f3b4e https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
Resctrl allows the architecture code to specify the schema format for a
control. Controls can either take a bitmap, or some kind of number.
If user-space doesn't know what a control is by its name, it could be
told the schema format. 'Some kind of number' isn't useful as the
difference between a percentage and a value in MB/s affects how these
would be programmed, even if resctrl's parsing code doesn't need to
care.
Add the types resctrl already has in addition to 'range'. This
allows architectures to move over before 'range' is removed. These
new schema formats are parsed the same, but will additionally affect
which files are visible.
Schema formats with a double underscore should not be considered
portable between architectures, and are likely to be described to
user-space as 'platform defined'. AMDs MBA resource is configured
with an absolute bandwidth measured in multiples of one eighth of
a GB per second. resctrl needs to be aware of this platform
defined format to ensure the existing 'MB' files continue to be
shown.

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit bb81e48 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
Resctrl specifies the schema format for MB and SMBA in rdt_resources_all[].
Intel platforms take a percentage for MB, AMD platforms take an absolute
value which isn't MB/s. Currently these are both treated as a 'range'.
Adding support for additional types of control shows that user-space
needs to be told what the control formats are. Today users of resctrl
must already know if their platform is Intel or AMD to know how the
MB resource will behave.
The MPAM support exposes new control types that take a 'percentage'.
The Intel MB resource is also configured by a percentage, so should be
able to expose this to user-space.
Remove the static configuration for schema_fmt in rdt_resources_all[]
and specify it with the other control properties in
__get_mem_config_intel() or __get_mem_config_amd().

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit 3323499 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `arch/x86/kernel/cpu/resctrl/core.c`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
…entage

MPAMs bandwidth controls are both exposed to resctrl as if they take a
percentage. Update the schema format so that user-space can be told this
is a perentage, and files that describe this control format are exposed.
(e.g. min_percent)
Existing variation in this area is covered by requiring user-space to
know if it is running on an Intel or AMD platform. Exposing the schema
format directly will avoid modifying user-space to know it is running
on an MPAM or RISCV platform.
MPAM can also expose bitmap controls for memory bandwidth, which may
become important for use-cases in the future. These are currently converted
to a percentage to fit the existing definition of the MB resource.

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit 2baa164 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `drivers/resctrl/mpam_resctrl.c`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
Resctrl previously had a 'range' schema format that took some kind of
number. This has since been split into percentage, MB/s and an AMD
platform specific scheme.
As range is no longer used, remove it.
The last user is mba_sc which should be described as taking MB/s.

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit 6c8f021 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
…tmap controls

MPAM has cache capacity controls that effectively take a percentage.
Resctrl supports percentages, but the collection of files that are
exposed to describe this control belong to the MB resource.
To find the minimum granularity of the percentage cache capacity controls,
user-space is expected to rad the banwdidth_gran file, and know this has
nothing to do with bandwidth.
The only problem here is the name of the file. Add duplicates of these
properties with percentage and bitmap in the name. These will be exposed
based on the schema format.
The existing files must remain tied to the specific resources so that
they remain visible to user-space. Using the same helpers ensures the
values will always be the same regardless of the file used.
These files are not exposed until the new RFTYPE schema flags are
set on a resource 'fflags'.

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit a38c116 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `fs/resctrl/internal.h`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
…n schema format

MPAM has cache capacity controls that effectively take a percentage.
Resctrl supports percentages, but the collection of files that are
exposed to describe this control belong to the MB resource. New files
have been added that are selected based on the schema format.
Apply the flags to enable these files based on the schema format.
Add a new fflags_from_schema() that is used for controls.

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit db00568 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `fs/resctrl/rdtgroup.c`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
If more schemas are added to resctrl, user-space needs to know how to
configure them. To allow user-space to configure schema it doesn't know
about, it would be helpful to tell user-space the format, e.g. percentage.
Add a file under info that describes the schema format.
Percentages and 'mbps' are implicitly decimal, bitmaps are expected to be
in hex.

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit f0ae691 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `fs/resctrl/rdtgroup.c`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
MPAM can have both cache portion and cache capacity controls on any cache
that supports MPAM. Cache portion bitmaps can be exposed via resctrl if
they are implemented on L2 or L3.
The cache capacity controls can not be used to isolate portions, which is
in implicit in the L2 or L3 bitmap provided by user-space. These controls
need to be configured with something more like a percentage.
Add the resource enum entries for these two resources. No additional
resctrl code is needed because the architecture code will specify this
resource takes a 'percentage', re-using the support previously used only
for the MB resource.

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit 2e9f961 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `include/linux/resctrl.h`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
…m cmax

MPAM's maximum cache-capacity controls take a fixed point fraction format.
Instead of dumping this on user-space, convert it to a percentage.
User-space using resctrl already knows how to handle percentages.

Signed-off-by: James Morse <james.morse@arm.com>
(cherry picked from commit 10caa12 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `drivers/resctrl/mpam_resctrl.c`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
…g errors

No need to destory MSC instance for the user/admin programming errors
sicne it's not causing any functional issues.

Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
(cherry picked from commit 7d348a2 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
In a NUMA system, each node may include CPUs, memory, MPAM MSC
instances, or any combination thereof. Some high-end servers may
have NUMA nodes that include MPAM MSC but no CPUs. In such cases,
associate all possible CPUs for those MSCs.

Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
(cherry picked from commit 95f0fd8 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
… domain setup

The current MPAM driver only considers the first component associated
with an online/offline CPU during domain creation and teardown. This
is insufficient, as CPU-initiated traffic may traverse multiple MSCs
before reaching the target, and each MSC must be programmed consistently
for proper resource partitioning.

Update the MPAM driver to include all components associated with a
given CPU during domain setup/teardown to expose expected schemata
to userspace for effective resource control.

Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
(forward ported from commit ac1e5be https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Leaves drivers/resctrl/mpam_internal.h untouched; mpam_resctrl_offline_cpu()
    is already void in the baseline used here.
  - Tightens callers (mpam_resctrl_pick_mba, mpam_resctrl_pick_counters) around
    traffic_matches_l3() together with topology_matches_l3() and
    cpumask_equal(&class->affinity, cpu_possible_mask) and does not add a
    traffic_matches_l3() function body here, which is already defined in
    upstream.
  - Omits any edit to exposed_alloc_capable or exposed_mon_capable; those
    symbols are already absent from the baseline in favor of
    resctrl_arch_alloc_capable() / resctrl_arch_mon_capable().
  - Does not add MPAM_MAX_EVENT or a
    new for_each_mpam_resctrl_mon() / mpam_resctrl_counters[] sizing hunk
    because that monitor macro and array shape are already in the baseline.
  - Omits INIT_LIST_HEAD_RCU() on res->resctrl_res.ctrl_domains and
    mon_domains, omits moving mpam_resctrl_domain_insert() after
    resctrl_online_*(), and omits adding static void
    mpam_resctrl_online_domain_hdr(); that list setup and insert ordering are
    already in the baseline.
  - Does not replay a void->int conversion for mpam_resctrl_monitor_init() or a
    mpam_pmg_max + 1 num_rmid path; the baseline already has int-returning
    mpam_resctrl_monitor_init() and resctrl_arch_system_num_rmid_idx() for
    num_rmid, so only surrounding line context shifts in this file.
  - Adds mpam_resctrl_mon_from_res() / mpam_resctrl_res_from_mon(),
    mpam_resctrl_monitor_sync_abmc_vals(struct
    rdt_resource *r), extends mpam_resctrl_alloc_domain() /
    mpam_resctrl_get_domain_from_cpu() / mpam_resctrl_get_mon_domain_from_cpu()
    with struct mpam_component *comp, hardens topology_matches_l3() with
    matched_once, switches resctrl_arch_mbm_cntr_assign_enabled() to use
    mon->assigned_counters, and extends mpam_resctrl_pick_domain_id() so
    memory level > 3 uses component IDs like cache-backed classes]
  - Modify matched_once and cpu checking in topology_matches_l3() to
    have a better error handling;
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
…onfig

Reset an RIS by building a default mpam_config and applying it via
mpam_reprogram_ris_partid(), like any other config.

- mpam_init_reset_cfg(): set features and default values only for
  controls supported by the RIS (cpor_part, mbw_part, mbw_max,
  mbw_prop, cmax_cmax, cmax_cmin). Use full masks for CPBM/MBW_PBM
  and MPAMCFG_* defaults for MBW_MAX, CMAX, CMIN.
- mpam_reprogram_ris_partid(): apply cfg for all supported controls
  (no separate reset path).

Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
(forward ported from commit e0b6de0 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - reset_cpbm and reset_mbw_pbm are not used. no need to define them;
  - Resolve minor conflicts in `drivers/resctrl/mpam_devices.c`;
  - Since mpam_init_reset_cfg() has been removed from upstream,
    reset_cfg is init in mpam_reprogram_ris_partid(&reset_cfg);
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
There is no struct arm_smmu_domain context for domains configured
with identity mappings. Use the device to obtain the necessary
information to program PARTID and PMGID.

Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
(cherry picked from commit 23bcbda https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
Add RDT_RESOURCE_MB_HLIM and RESCTRL_SCHEMA_MB_HLIM for per-domain
MBW maximum hard-limit control on ARM MPAM. Document the schema in
kernel-doc. Extend resctrl_get_default_ctrl() for RESCTRL_SCHEMA_MB_HLIM
(default 0).

(cherry picked from commit 9fc8c60 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
…etup

Add mb_hlim parsing and validation (0/1), wire RESCTRL_SCHEMA_MB_HLIM
into schemata and control-group setup, align MB_HLIM with MBA for
exclusive mode and pseudo-locking, and default new groups to hardlim off.

(cherry picked from commit 6911e81 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
…lim_rw

Read mbw_max_lim from MPAMF_MBW_IDR.MAX_LIM when MBW_MAX is present,
derive mpam_feat_mbw_max_hardlim_rw when both soft and hard limiting
are supported, and merge mbw_max_lim and the feature across MSCs.
Add mpam_props_sync_mbw_max_hardlim_rw() and propagate merged state in
__props_mismatch().

(cherry picked from commit ced4d46 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
Add mbw_max_hardlim to mpam_config. When reprogramming MBW_MAX, OR in
HARDLIM (MPAMCFG_MBW_MAX bit 31) when either MBW_MAX or HARDLIM_RW
features are active. Merge HARDLIM in mpam_update_config().

(forward ported from commit 114894b https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `drivers/resctrl/mpam_devices.c`;
  - Resolve minor conflicts in `drivers/resctrl/mpam_internal.h`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
When mpam_feat_mbw_max_hardlim_rw is present, share the MBA MPAM class
with RDT_RESOURCE_MB_HLIM. Wire resctrl_arch_get_config and
resctrl_arch_update_one for MB_HLIM, and tear down MBA and MB_HLIM
controls together on class removal.

Handle RDT_RESOURCE_MB_HLIM in fflags_from_resource() so creating
info/MB_HLIM at resctrl mount does not hit the unhandled-rid WARN.

(forward ported from commit 04e2ea3 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `drivers/resctrl/mpam_resctrl.c`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
Add mb_max_lim and arch_has_mb_max_lim to struct resctrl_membw with
kernel-doc: MPAM MAX_LIM encoding (MPAMF_MBW_IDR), invalid elsewhere
unless arch sets arch_has_mb_max_lim.

(cherry picked from commit 7939f1e https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
When mpam_feat_mbw_max is present, set membw.mb_max_lim from
cprops->mbw_max_lim and membw.arch_has_mb_max_lim so generic resctrl can
expose max_lim.

(forward ported from commit 05b9bc1 https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `drivers/resctrl/mpam_resctrl.c`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
… init

Add rdt_mb_max_lim_show() and the max_lim entry in res_common_files[].
Add mb_max_lim_init() to call resctrl_file_fflags_init("max_lim", ...)
when arch_has_mb_max_lim, and invoke it from resctrl_init() after
io_alloc_init().

(forward ported from commit be13cad https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
[fenghuay:
  - Resolve minor conflicts in `fs/resctrl/rdtgroup.c`;
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
…IM for MPAM MBA

Document the MBA max_lim sysfs file, MB_HLIM schemata (0/1 per domain),
and how they relate to MPAM MBW_MAX, HARDLIM, and MPAMF_MBW_IDR.MAX_LIM.
Add schema_format for mb_hlim under the MB allocation info directory.

max_lim is exposed as a single decimal integer (MPAMF_MBW_IDR.MAX_LIM
[1:0], 0-3), matching rdt_mb_max_lim_show(). MB_HLIM appears when the
probe treats HARDLIM as read/write, which this series ties to max_lim
reading zero (see mpam_props_sync_mbw_max_hardlim_rw()).

(cherry picked from commit 93e1b6a https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next)
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
Add local bytes counter in mpam_resctrl_counters[] to fix missing
mbm_local_bytes monitoring on Grace.

Add mon->assigned_counters check to enable mbm_L3_assignments config
file on Grace.

Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
@fyu1 fyu1 force-pushed the 26.04_linux-nvidia-bos.glue.others.cpu_less.hardlimit branch from db419af to 4b0a71f Compare May 29, 2026 00:39
@jamieNguyenNVIDIA
Copy link
Copy Markdown
Collaborator

Acked-by: Jamie Nguyen <jamien@nvidia.com>

@nvmochs
Copy link
Copy Markdown
Collaborator

nvmochs commented May 29, 2026

Merged, closing PR.

4a0dd525ac5a (nresolute/nvidia-bos-next) NVIDIA: SAUCE: Fix mbm_L3_assign and mon_local_bytes
4a6ca8ae9e6f NVIDIA: VR: SAUCE: Documentation: resctrl: document max_lim and MB_HLIM for MPAM MBA
f36d55908e37 NVIDIA: VR: SAUCE: resctrl: add MBA max_lim sysfs and visibility from init
7c3d8db34480 NVIDIA: VR: SAUCE: resctrl/mpam: populate MBA mb_max_lim from MPAM probe
5805d1f01c0a NVIDIA: VR: SAUCE: resctrl: add membw.mb_max_lim and arch_has_mb_max_lim
9a5c2aba0905 NVIDIA: VR: SAUCE: resctrl/mpam: bind MB_HLIM resource to MBA MPAM class
be64ed7f1cb7 NVIDIA: VR: SAUCE: resctrl/mpam: track MBW max hard-limit in config
19b6bd34e883 NVIDIA: VR: SAUCE: resctrl/mpam: probe MPAMF_MBW_IDR MAX_LIM and hardlim_rw
f3548b73a56f NVIDIA: VR: SAUCE: resctrl: wire MB_HLIM schemata parsing and group setup
3d87a8c576e9 NVIDIA: VR: SAUCE: resctrl: add MB_HLIM resource ID and schema type
cf7367855d72 NVIDIA: VR: SAUCE: iommu/arm-smmu-v3: Fix MPAM for indentity-mappings
3011278a6a44 NVIDIA: SAUCE: resctrl/mpam: reset RIS by applying explicit default config
befe83ccbea5 NVIDIA: SAUCE: arm_mpam: Include all associated MSC components during domain setup
94fd2e8a9bc4 NVIDIA: VR: SAUCE: arm_mpam: Handle CPU-less numa nodes
8686bb773e75 NVIDIA: VR: SAUCE: arm_mpam: Avoid MSC teardown for the SW programming errors
c3f9c03a0623 NVIDIA: SAUCE: arm_mpam: resctrl: Add the glue code to convert to/from cmax
ac1ba2f10219 NVIDIA: SAUCE: fs/resctrl: Add L2 and L3 'MAX' resource schema
15c47eb60ebb NVIDIA: SAUCE: fs/resctrl: Expose the schema format to user-space
18c4f19a6a50 NVIDIA: SAUCE: fs/resctrl: Add fflags_from_schema() for files based on schema format
6335bf688291 NVIDIA: SAUCE: fs/resctrl: Add additional files for percentage and bitmap controls
eb55e1bdfa78 NVIDIA: VR: SAUCE: fs/resctrl: Remove 'range' schema format
beaed00fc6ee NVIDIA: VR: SAUCE: arm_mpam: resctrl: Convert MB resource to use percentage
a3b34366fbc7 NVIDIA: SAUCE: x86/resctrl: Move over to specifying MBA control formats
5d706d7f61e8 NVIDIA: SAUCE: fs/resctrl: Add specific schema types for 'range'
355fe2d0d289 NVIDIA: VR: SAUCE: fs/resctrl: Use schema format to check the resource is a bitmap
60c469d6d81e NVIDIA: SAUCE: fs/resctrl: Add a schema format to the schema, allowing it to be different
bf8882baa9cd NVIDIA: SAUCE: fs/resctrl: Rename resctrl_get_default_ctrl() to include resource
97453b55ffe9 NVIDIA: SAUCE: fs/resctrl: Move MBA supported check to parse_line() instead of parse_bw()
103999e217b3 NVIDIA: SAUCE: fs/resctrl: Abstract duplicate domain test to a helper
8b41e895e3a8 NVIDIA: SAUCE: fs/resctrl: Group all the MBA specific properties in a separate struct
f9155b37036b NVIDIA: SAUCE: arm_mpam: Rename mbw conversion to 'fract16' for code re-use
40d6c21a8355 NVIDIA: SAUCE: arm_mpam: Allow cmax/cmin to be configured
eb3210a027f3 NVIDIA: VR: SAUCE: fs/resctrl: Uniform data type of component_id/domid/id/cache_id
c668b58e6607 NVIDIA: SAUCE: fs/restrl: Allow the overflow handler to be disabled
8e98ff74ec23 NVIDIA: SAUCE: arm_mpam: resctrl: Determine if any exposed counter can overflow
ee83c677e0b1 NVIDIA: SAUCE: x86/resctrl: Add stub to allow other architecture to disable monitor overflow
443b22b52302 NVIDIA: VR: SAUCE: fs/resctrl: Add support for assigning iommu_groups to resctrl groups
88c125cc5075 NVIDIA: VR: SAUCE: arm_mpam: resctrl: Add iommu helpers to get/set the partid and pmg
922a9841c091 NVIDIA: VR: SAUCE: kobject: Add kset_get_next_obj() to allow a kset to be walked
9c7d3361ab5a NVIDIA: VR: SAUCE: iommu: Add helper to retrieve iommu kset
f1e58a08e782 NVIDIA: VR: SAUCE: iommu: Add helpers to retrieve iommu_groups by id or kobject
dc0868ee6fe7 NVIDIA: VR: SAUCE: iommu: Add helpers to get and set the QoS state
14cf32f6aefa NVIDIA: VR: SAUCE: iommu/arm-smmu-v3: Add mpam helpers to query and set state
f1395d036374 NVIDIA: VR: SAUCE: iommu/arm-smmu-v3: Register SMMU capabilities with MPAM
e6218d9efce6 NVIDIA: VR: SAUCE: fs/resctrl: Add this_is_not_abi mount option
36e07222b766 NVIDIA: VR: SAUCE: arm_mpam: Allow MSC to be forced to have an unknown location
6c15112afcc1 NVIDIA: VR: SAUCE: arm_mpam: Allow the maximum partid to be overridden from the command line
53f51e8e4f55 NVIDIA: VR: SAUCE: arm_mpam: Split the locking around the mon_sel registers
ee7ca886bde4 NVIDIA: SAUCE: fs/resctrl,x86/resctrl: Factor mba rounding to be per-arch
96e36ced4df6 NVIDIA: SAUCE: arm_mpam: Add resctrl_arch_round_bw()
932133446d58 NVIDIA: VR: SAUCE: arm_mpam: Expose the number of NRDY retries in debugfs
7e4090f6cdb4 NVIDIA: VR: SAUCE: arm_mpam: Add force-disable debugfs trigger
6e2d8f52e8bc NVIDIA: VR: SAUCE: arm_mpam: Add debugfs entries to show the MSC/RIS the driver discovered
bfddac089cff NVIDIA: VR: SAUCE: debugfs: Add helpers for creating cpumask entries in debugfs
90887729bba3 NVIDIA: VR: SAUCE: fs/resctrl: Avoid a race with dom_data_exit() and rmid_ptrs[]
92c09fa0ae20 NVIDIA: VR: SAUCE: fs/resctrl: Avoid a race with dom_data_exit() and closid_num_dirty_rmid[]
a109814e787f NVIDIA: SAUCE: arm_mpam: resctrl: Add resctrl_arch_cntr_read() & resctrl_arch_reset_cntr()
9ea326c1aed8 NVIDIA: SAUCE: arm_mpam: resctrl: Add resctrl_arch_rmid_read() and resctrl_arch_reset_rmid()
59a18d136636 NVIDIA: SAUCE: arm_mpam: resctrl: Add resctrl_arch_config_cntr() for ABMC use
b8feed322009 NVIDIA: VR: SAUCE: arm_mpam: resctrl: Add kunit test for ABMC/CDP interactions
0a3118f12587 NVIDIA: SAUCE: arm_mpam: resctrl: Pre-allocate assignable monitors
b79f3e419c13 NVIDIA: SAUCE: arm_mpam: resctrl: Pre-allocate free running monitors
3adc6ea35ff0 NVIDIA: SAUCE: untested: arm_mpam: resctrl: pick classes for use as mbm counters
247f29265477 NVIDIA: SAUCE: Update annotations to set CONFIG_RESCTRL_FS
7a28a7dda451 arm_mpam: resctrl: Make resctrl_mon_ctx_waiters static
fa553bae71fe arm_mpam: resctrl: Fix the check for no monitor components found
44b60eaf4d89 arm_mpam: resctrl: Fix MBA CDP alloc_capable handling on unmount
3864d4ea760e fs/resctrl: Add missing return value descriptions
21f6f254fbb4 MAINTAINERS: Update resctrl entry
5086e2ce921f fs/resctrl: Add "*" shorthand to set io_alloc CBM for all domains
31f3835cb4e5 fs/resctrl: Report invalid domain ID when parsing io_alloc_cbm
d579c2d11e30 arm64: mpam: Add initial MPAM documentation
15ea52f2ba62 arm_mpam: Quirk CMN-650's CSU NRDY behaviour
70cd555ed8f7 arm_mpam: Add workaround for T241-MPAM-6
b20159bc0bc7 arm_mpam: Add workaround for T241-MPAM-4
5e64adabbe74 arm_mpam: Add workaround for T241-MPAM-1
0af66113d156 arm_mpam: Add quirk framework
b12bc27fc1ac arm_mpam: resctrl: Call resctrl_init() on platforms that can support resctrl
c1492420239c arm64: mpam: Select ARCH_HAS_CPU_RESCTRL
f29977047a8b ALSA: usb-audio: Replace hard-coded number with MAX_CHANNELS
94a7daec5bcf arm_mpam: resctrl: Add empty definitions for assorted resctrl functions
58f35c2ef2ce arm_mpam: resctrl: Update the rmid reallocation limit
9eaf6056690a arm_mpam: resctrl: Add resctrl_arch_rmid_read()
36d8b90f969c arm_mpam: resctrl: Allow resctrl to allocate monitors
26075ffcd7ed arm_mpam: resctrl: Add support for csu counters
b62df00a54fd arm_mpam: resctrl: Add monitor initialisation and domain boilerplate
aee7e7e39255 arm_mpam: resctrl: Add kunit test for control format conversions
f154235f542b arm_mpam: resctrl: Add support for 'MB' resource
d88d7000d937 arm_mpam: resctrl: Wait for cacheinfo to be ready
87c21bab31d2 arm_mpam: resctrl: Add rmid index helpers
b9783458275d arm_mpam: resctrl: Convert to/from MPAMs fixed-point formats
db1b46978ba1 arm_mpam: resctrl: Hide CDP emulation behind CONFIG_EXPERT
e4fd483822f4 arm_mpam: resctrl: Add CDP emulation
35af6cca0b27 arm_mpam: resctrl: Add plumbing against arm64 task and cpu hooks
2492506c2855 arm_mpam: resctrl: Implement helpers to update configuration
22d95656083b arm_mpam: resctrl: Add resctrl_arch_get_config()
f0b98c40a020 arm_mpam: resctrl: Implement resctrl_arch_reset_all_ctrls()
f8a82a3474e2 arm_mpam: resctrl: Pick the caches we will use as resctrl resources
3025c078cf1b arm_mpam: resctrl: Add boilerplate cpuhp and domain allocation
e792e18825d8 arm64: mpam: Add helpers to change a task or cpu's MPAM PARTID/PMG values
c801a1a5a938 arm64: mpam: Initialise and context switch the MPAMSM_EL1 register
9f6919d1c8e3 arm64: mpam: Add cpu_pm notifier to restore MPAM sysregs
54e7bf4d2b2e arm64: mpam: Advertise the CPUs MPAM limits to the driver
66be389754c4 arm64: mpam: Drop the CONFIG_EXPERT restriction
dd31472c748f arm64: mpam: Re-initialise MPAM regs when CPU comes online
f52b1aca4d98 arm64: mpam: Context switch the MPAM registers
c56612b54de8 KVM: arm64: Make MPAMSM_EL1 accesses UNDEF
b60f5e352321 KVM: arm64: Preserve host MPAM configuration when changing traps
5dbfc4ac28db arm64/sysreg: Add MPAMSM_EL1 register
e83b5be7fff6 arm_mpam: Reset when feature configuration bit unset
736eea342e68 arm_mpam: Ensure in_reset_state is false after applying configuration

@nvmochs nvmochs closed this May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.