[26.04_linux-nvidia-bos] MPAM update - #543
Conversation
Boro watcher review skippedThe PR watcher skips automatic boro reviews for changes with more than 50 commits. This change currently has 91 commits. To run the review anyway, ask Head: This comment is maintained by BaseOS Reviewer. It is updated when the watcher sees a newer head. |
PR Validation ReportPatchscan ✅ No Missing FixesAll cherry-picked commits checked — no missing upstream fixes found. PR Lint ❌ Errors foundDetailsChecking 91 commits...
Cherry-pick digest:
E: f2d7fc8ce4c0 ("PCI: Allow per function PCI slots to fix"): diff MISMATCH with lore patch (add [Author: reason] annotation if intentional)
E: 873912d664f3 ("PCI: Introduce PCI_SLOT_PLACEHOLDER cons"): diff MISMATCH with lore patch (add [Author: reason] annotation if intentional)
┌──────────────┬──────────────────────────────────────────────────────────────────┬────────────┬─────────┬───────────────────────────┐
│ Local │ Referenced upstream / Patch subject │ Patch-ID │ Subject │ SoB chain │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ c6f7a1cfe4cb │ [SAUCE] fs/resctrl: continue iommu group migration after errors │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 778141d12d25 │ [SAUCE] arm_mpam: quiesce error irq before msc removal │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 7700016a222d │ [SAUCE] arm_mpam: fix pcc channel lifetime during msc removal │ N/A │ N/A │ ltrager, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 7c9e4b8bc0c3 │ [SAUCE] arm_mpam: resctrl: correct check that existing class is │ N/A │ N/A │ horgan, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ bf9a8df23091 │ [SAUCE] arm_mpam: initialize all of struct mon_read in mpam_rest │ N/A │ N/A │ horgan, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ baeb83ca3817 │ 2c43aced9be3 arm_mpam: Apply T241-MPAM-6 to 63-bit counters │ context │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 290e5b661c43 │ [SAUCE] arm_mpam: use __ris_msmon_read() for saving mbwu state │ N/A │ N/A │ horgan, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 107ab4fd98a6 │ [SAUCE] fs/resctrl: fix iommu_group reference leaks when iterati │ N/A │ N/A │ ltrager, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 2d685c19dfc5 │ [SAUCE] arm_mpam: ensure mbwu counters are reset on restore │ N/A │ N/A │ horgan, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 70690b5f2b3d │ [SAUCE] fs/resctrl: fix redefinition of iommu helpers with confi │ N/A │ N/A │ ltrager, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 3bdc5d94d2b9 │ [SAUCE] fs/resctrl: migrate iommu groups when removing resource │ N/A │ N/A │ zengheng, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ bc1df06c4d3d │ [SAUCE] fs/resctrl: remove unused 'of' parameter from rdtgroup_m │ N/A │ N/A │ zengheng, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ c038f489164e │ [SAUCE] fs/resctrl: fix incorrect pid parsing after iommu group │ N/A │ N/A │ zengheng, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 2afbc1ba64e5 │ [SAUCE] arm_mpam: fix monitor capability and mbm assign for mb e │ N/A │ N/A │ fenghuay, bfigg, ltrager, │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 9394770588fb │ [SAUCE] fix mbm_l3_assign and mon_local_bytes │ N/A │ N/A │ fenghuay, bfigg, ltrager, │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 4f948a15a4fe │ [SAUCE] arm_mpam: include all msc components during domain setup │ N/A │ N/A │ sdonthin, fenghuay, ltrag │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 8b74e3e422b8 │ [SAUCE] resctrl: add mba max_lim sysfs and visibility from init │ N/A │ N/A │ fenghuay, ltrager, ltrage │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 615e83f45d47 │ [SAUCE] arm_mpam: resctrl: determine if any exposed counter can │ N/A │ N/A │ morse, ltrager, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 7fb251c13c07 │ [SAUCE] arm_mpam: expose the number of nrdy retries in debugfs │ N/A │ N/A │ morse, fenghuay, ltrager, │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ c7160da1c530 │ [SAUCE] arm_mpam: add debugfs entries to show the msc/ris the dr │ N/A │ N/A │ morse, fenghuay, ltrager, │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 3ac007a11f33 │ [SAUCE] fs/resctrl: add support for assigning iommu_groups to re │ N/A │ N/A │ morse, ltrager, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ a033786e0d8c │ [SAUCE] iommu: add helpers to get and set the qos state │ N/A │ N/A │ morse, ltrager, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ fa399d131e2d │ [SAUCE] iommu/arm-smmu-v3: add mpam helpers to query and set sta │ N/A │ N/A │ morse, ltrager, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ ef8e624c8a73 │ [SAUCE] iommu/arm-smmu-v3: register smmu capabilities with mpam │ N/A │ N/A │ morse, fenghuay, ltrager, │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 41cfaf7edf5a │ [SAUCE] arm_mpam: allow msc to be forced to have an unknown loca │ N/A │ N/A │ morse, fenghuay, ltrager, │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 7852bb1afc01 │ [SAUCE] fs/resctrl: add this_is_not_abi mount option │ N/A │ N/A │ morse, fenghuay, ltrager, │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ c3c2f68ceb63 │ [SAUCE] arm_mpam: allow the maximum partid to be overridden from │ N/A │ N/A │ morse, fenghuay, ltrager, │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ b53345385881 │ [SAUCE] fs/resctrl: avoid a race with dom_data_exit() and rmid_p │ N/A │ N/A │ morse, fenghuay, ltrager, │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 992460292a61 │ [SAUCE] arm_mpam: resctrl: add kunit test for abmc/cdp interacti │ N/A │ N/A │ morse, fenghuay, ltrager, │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 3c28eeba8cd6 │ 6b4ee75215c9 arm64: mpam: Add memory bandwidth usage (MBWU) docu │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 8be70bcc8889 │ a5ff6ef2d73e arm_mpam: resctrl: Add resctrl_arch_cntr_read() & r │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 7e94f2d2ab8e │ 6e0e538a75ce arm_mpam: resctrl: Add resctrl_arch_config_cntr() f │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 2d6022c582af │ 779cfd653168 arm_mpam: resctrl: Pre-allocate assignable monitors │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 82d9158389f4 │ 436d111d918a arm_mpam: resctrl: Pick classes for use as MBM coun │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 24857114f7b4 │ 1cfa74c683ea fs/resctrl: Document tasks file behaviour for task │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ e997f9617dc9 │ 9a1646211f8c fs/resctrl: Document that automatic counter assignm │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 749ed1c03259 │ 3aec86e4ea01 fs/resctrl: Continue counter allocation after failu │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ a0073165af5c │ ee3d4c81d89c fs/resctrl: Add monitor property 'mbm_cntr_assign_f │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 89e5cca67b7d │ f52abe650241 fs/resctrl: Disallow the software controller when M │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ bfdc2da45b47 │ 94a1206522d1 x86,fs/resctrl: Create 'event_filter' files read on │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 9aaf440ea597 │ 7625632fed43 fs/resctrl: Tidy up the error path in resctrl_mkdir │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 54eeb89169e6 │ [SAUCE] arm_mpam: detect and enable mpam-fb pcc support │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 00d1d8a84b59 │ [SAUCE] arm_mpam: change mpam-fb error irq to use a threaded irq │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 600430aecce5 │ [SAUCE] arm_mpam: avoid msc teardown for the sw programming erro │ N/A │ N/A │ sdonthin, fenghuay, ltrag │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 0b48c7c35b42 │ [SAUCE] arm_mpam: add mpam-fb msc firmware access support │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ bd396394099b │ [SAUCE] arm_mpam: prepare mon_sel locking for mpam-fb │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ ed56cd7b583d │ [SAUCE] arm_mpam: propagate msc access errors for interrupt cont │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 77d0ad3fdd93 │ [SAUCE] arm_mpam: propagate msc access errors for mpam_reprogram │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 685d533a1b9d │ 021118ce5ea9 arm_mpam: Fix MPAMCFG_MBW_PBM register setting │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 96c5c517d1bd │ [SAUCE] resctrl/mpam: reset ris by applying explicit default con │ N/A │ N/A │ sdonthin, fenghuay, bfigg │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 08e1cb385f9c │ [SAUCE] arm_mpam: propagate msc access errors for state saving f │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 177f691edb85 │ [SAUCE] arm_mpam: propagate msc access errors for __ris_msmon_re │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 0713150daa25 │ [SAUCE] arm_mpam: propagate msc access errors for msmon helpers │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 907a57a3a6ff │ [SAUCE] arm_mpam: propagate msc access errors for mbwu counters │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 56c93a96ea5f │ [SAUCE] arm_mpam: propagate msc access errors for hw_probe funct │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 297f385b1171 │ [SAUCE] resctrl/mpam: probe mpamf_mbw_idr max_lim and hardlim_rw │ N/A │ N/A │ fenghuay, ltrager, ltrage │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 327caad752ef │ [SAUCE] arm_mpam: let low level msc accessors return an error │ N/A │ N/A │ przywara, ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 8aa034e1fc10 │ 50a42e03cdbd arm_mpam: Update architecture version check for MPA │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ d461c8089a14 │ 67faed4ccb4f KVM: arm64: Force guest EL1 to use user-space's par │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 5b3608f38bca │ 231c7a57d193 PCI/MSI: Enable memory decoding before restoring MS │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 9a746be5217d │ ad05c16b290b PCI: Fail FLR when config space is inaccessible │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ c7d80f79fb61 │ e18d1abc3bff PCI: Avoid saving config space state if inaccessibl │ match │ match │ preserved + ltrager added │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ f2d7fc8ce4c0 │ pci: allow per function pci slots to fix slot reset on s390 │ MISMATCH │ found │ ok, backporter: ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 873912d664f3 │ pci: introduce pci_slot_placeholder constant for slot_nr placeho │ MISMATCH │ found │ ok, backporter: ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ a6f40d216905 │ [Revert] untested: arm_mpam: resctrl: pick classes for use as mb │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ d86ca40eace6 │ [Revert] arm_mpam: resctrl: pre-allocate free running monitors │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 33c84442f60f │ [Revert] arm_mpam: resctrl: pre-allocate assignable monitors │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ a096b2ab5367 │ [Revert] arm_mpam: resctrl: add kunit test for abmc/cdp interact │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 8bfa6ef122c1 │ [Revert] arm_mpam: resctrl: add resctrl_arch_config_cntr() for a │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ b6d13154e919 │ [Revert] arm_mpam: resctrl: add resctrl_arch_rmid_read() and res │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 01eec3c74ade │ [Revert] arm_mpam: resctrl: add resctrl_arch_cntr_read() & resct │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ e872eb548b06 │ [Revert] fs/resctrl: avoid a race with dom_data_exit() and rmid_ │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 662bb49d702f │ [Revert] arm_mpam: add debugfs entries to show the msc/ris the d │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 93b5824ddc49 │ [Revert] arm_mpam: expose the number of nrdy retries in debugfs │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 5687093d76d5 │ [Revert] arm_mpam: split the locking around the mon_sel register │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 804e76b6a349 │ [Revert] arm_mpam: allow the maximum partid to be overridden fro │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ fd499ed0784f │ [Revert] arm_mpam: allow msc to be forced to have an unknown loc │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ d7d0bff4e66f │ [Revert] fs/resctrl: add this_is_not_abi mount option │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ bfcd3f8c251b │ [Revert] iommu/arm-smmu-v3: register smmu capabilities with mpam │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 9bc7ea25a3cd │ [Revert] iommu/arm-smmu-v3: add mpam helpers to query and set st │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 28a2c024b886 │ [Revert] iommu: add helpers to get and set the qos state │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 2604f45b5c0c │ [Revert] fs/resctrl: add support for assigning iommu_groups to r │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ f9761a59ff99 │ [Revert] arm_mpam: resctrl: determine if any exposed counter can │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ bc011e54c0bd │ [Revert] arm_mpam: avoid msc teardown for the sw programming err │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 61f08b9aa737 │ [Revert] arm_mpam: include all associated msc components during │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 5bd6f5b5dce2 │ [Revert] resctrl/mpam: reset ris by applying explicit default co │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 96e7092af00b │ [Revert] resctrl/mpam: probe mpamf_mbw_idr max_lim and hardlim_r │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ bd1954ea0709 │ [Revert] resctrl: add mba max_lim sysfs and visibility from init │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ f40b9a86ccb1 │ [Revert] fix mbm_l3_assign and mon_local_bytes │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ 1b6195865aee │ [Revert] arm_mpam: apply t241-mpam-6 to 63-bit counters │ N/A │ N/A │ ltrager │
├──────────────┼──────────────────────────────────────────────────────────────────┼────────────┼─────────┼───────────────────────────┤
│ b7b02562da9d │ [Revert] pci/msi: enable memory decoding before restoring msi-x │ N/A │ N/A │ ltrager │
└──────────────┴──────────────────────────────────────────────────────────────────┴────────────┴─────────┴───────────────────────────┘
Lint results:
W: 8be70bcc8889 ("arm_mpam: resctrl: Add resctrl_arch_cntr_read() & "): subject 75 chars (>72)
W: 89e5cca67b7d ("fs/resctrl: Disallow the software controller when "): subject 77 chars (>72)
W: bfdc2da45b47 ("x86,fs/resctrl: Create 'event_filter' files read o"): subject 81 chars (>72)
W: 873912d664f3 ("PCI: Introduce PCI_SLOT_PLACEHOLDER constant for s"): subject 74 chars (>72)
|
|
@ltrager, Is it worth to revert a lot of patches which have been tested by various groups to keep pace to upstream?
|
|
Reviewed all 82 commits with Claude, one deep-dive pass per commit plus a Downstream-only — introduced by this PR1. The reverted if (ret && ctx->enable_abi_playground)
disable_abi_playground();The key is enabled before the first 2. The new mpam_set_feature(mpam_feat_mbw_part, reset_cfg);
reset_cfg->mbw_pbm = GENMASK(props->mbw_pbm_bits - 1, 0);so
Two side notes on the same commit: the 3.
4. It breaks on the first per-group failure and all three callers discard the In the MPAM-Fb v9 series — not yet in linux-next
5.
6.
The unbind gap itself is not new — In linux-next — mailing list rather than this PRBoth are reproduced faithfully, so they are not backport defects. 7. if (existing_class) {
if (class->level == 3) {
pr_debug("Existing class is L3 - L3 wins\n");
return;The first test reads 8. Indexed by CDP-shifted closid and rmid only, ignoring |
Yes, this does seem a bit risky -- and we're trading SAUCE for a-little-bit-newer SAUCE in many cases. |
|
Thanks for the review. The purpose of this PR is to bring the MPAM/resctrl patch stack in Some apparently unrelated patches are source prerequisites for a conflict-free replay of the aligned stack:
I am fine dropping this PR but it will mean the |
9ef5052 to
ab2723a
Compare
4218063 to
01cb4e9
Compare
|
I compared kernels built from 26.04_linux-nvidia-bos and this PR using the internal vera-perf-check tool. I ran the qualification suite three times on each kernel and averaged the results to reduce run-to-run noise. The same three tests failed consistently on both branches, with no PR-specific failures. Overall performance is effectively unchanged; the MPAM benchmarks trend slightly better, while the remaining benchmarks show only minor differences. |
|
|
|
I re-reviewed the current 82-commit head ( Regressions introduced by this refresh1. The merge base calls 2. The base passes an empty 3.
4.
Enabling Incomplete or expanded fixes for pre-existing behavior5. The base does not migrate IOMMU groups during resctrl group removal, so the 6. The base already frees Pre-existing in the BOS merge baseThese are real issues, but they are not regressions caused by this refresh. 7. The function logs "Existing class is L3" but tests 8.
Re-review coverageAll 82 current commits map to the previously reviewed series: 80 have identical |
01cb4e9 to
813e9fd
Compare
|
1. Fixed in 2. This was a revert/reapply of 3. Agreed. I removed the downstream NRDY/scaling/initialization workarounds and replaced those commit slots with Ben Horgan’s posted MPAM fixes 5–7: 4. Confirmed and reported upstream against MPAM-Fb v9 patch 10/12. The missing dependency is present in the posted LKML patch and was not introduced by conflict resolution in this refresh. The Ubuntu kernel always enables 5. I verified that 6. I verified that 7. The carried ABMC v5 patch was not modified during this review; 8. The carried patch was not modified during this review. The current |
|
Re-reviewed the current head ( Two of the fixes are worth calling out as done properly rather than patched Already present in the merge base1. This commit is patch-identical to Removing The rest of the commit replaces The conversion also makes Almost all of the behavior named by the source patch's changelog was removed The Can the conversion changes be reverted or split out and justified together Still outstanding2. This commit is patch-identical to the posted source patch, so the defect is The current PCC commit calls static void mpam_msc_drv_remove(struct platform_device *pdev)
{
struct mpam_msc *msc = platform_get_drvdata(pdev);
mpam_pcc_chan_put(msc->pcc_chan);
mutex_lock(&mpam_list_lock);
mpam_msc_destroy(msc);
mutex_unlock(&mpam_list_lock);
mpam_free_garbage();
}If this drops the final reference, There is a second path through the error IRQ. The devm threaded IRQ remains The 3. This commit is patch-identical to the posted source patch. The merge base does
if (!(master->smmu->features & ARM_SMMU_FEAT_MPAM))
return -EIO;In Should the walk continue after per-group failures, or should group deletion 4. This commit is patch-identical to the posted source patch, including the
I reproduced this at the current head with arm64 Enabling For the mailing list rather than this PR5. The index is only Unassigning an event in one domain can set the global mapping to Items 2 and 4 introduce new failures into the target tree and look like fixes |
813e9fd to
b7ad9aa
Compare
|
Re-reviewed the force-pushed head ( IRQ teardown1. The PPI lifetime gap predates this PR: the BOS platform remove path does not if (irq_is_percpu(irq)) {
msc->reenable_error_ppi = 0;
free_percpu_irq(irq, msc->error_dev_id);
}The IRQ core requires The old global teardown satisfied this prerequisite because removing the 2.
lockdep_assert_cpus_held();
WARN_ON_ONCE(!srcu_read_lock_held(&mpam_srcu));The old Inherited source defect that becomes a BOS regression3. This commit is patch-identical to the posted MPAM-Fb source patch, including I reproduced it at the new head with arm64 Enabling Force-push stack construction4. The push is based on an older target commit and includes an unrelated The PR base is The push also adds a revert of the existing MSI-X SAUCE patch followed by five Fixed by this push
One broader lifetime race remains pre-existing in BOS: platform remove is not For verification, |
|
1. c9419e5 is patch-identical to 990f4e5 from the PR merge base and carries the same changelog. It only appears in this PR as I had to revert it and then reapply it to cleanly update the patch sets described above. Neither the conversion behavior nor the changelog/content mismatch was introduced by this refresh. I agree that the historical forward-port message no longer describes the adapted diff precisely, but feel rewriting here is out of scope for this PR. 2. cherry-picked b7436bb which I wrote to fix a similar issue from linux-nvidia-6.18-next. Added an additional SAUCE fix(5f5d363) for the IRQ issue. 3. I added a SAUCE patch(b7ad9aa) that continues walking the remaining IOMMU groups while preserving the first error as the function’s return value. Since advancing kset_get_next_obj() releases the previous iterator reference, the error-path kobject_put() is removed together with the break. 4. Upstream agrees to the added dependency. I do not think its worth carrying a SAUCE patch as CONFIG_MALIBOX is enabled for various other devices. |
b7ad9aa to
bdc58a9
Compare
|
1. Updated as suggested 2. Updated as suggested 3. Reported upstream, no action on this branch as we need CONFIG_MAILBOX for other device drivers. 4. The push is based on an older target commit and includes an unrelated PCI series.
|
|
The code findings from the previous round are addressed. One mechanical item Six of them already contain a
The other five have neither one of the recognized trailers nor a source
Could you add the appropriate recognized provenance trailer to all 11 commits |
…ng MSI-X messages" This reverts commit 5929ce1. Signed-off-by: Lee Trager <ltrager@nvidia.com>
This reverts commit 0f0f62d. This commit is being reverted as part of the process in updating "T241-MPAM-6 fixes"; it is reapplied. Signed-off-by: Lee Trager <ltrager@nvidia.com>
This reverts commit 9d97d90. This commit is being reverted as part of the process in updating "ABMC v5 integration adjustments"; it is reapplied. Signed-off-by: Lee Trager <ltrager@nvidia.com>
…ity from init" This reverts commit eb2a397. This commit is being reverted as part of the process in updating "MPAM MBA MAX/HARDLIM support"; it is reapplied. Signed-off-by: Lee Trager <ltrager@nvidia.com>
…and hardlim_rw" This reverts commit 3f89f03. This commit is being reverted as part of the process in updating "MPAM MBA MAX/HARDLIM support"; it is reapplied. Signed-off-by: Lee Trager <ltrager@nvidia.com>
…efault config" This reverts commit 39c973a. This commit is being reverted as part of the process in updating "MPAM MBA MAX/HARDLIM support"; it is reapplied. Signed-off-by: Lee Trager <ltrager@nvidia.com>
It's really popular to tie NRDY high, and then act surprised when the OS never reads the counters, because they aren't ready. The spec obliges hardware to clear this bit automatically before the firmware advertised timeout. To make it easier to find errant hardware, count the number of retries and expose that number in debugfs. Signed-off-by: James Morse <james.morse@arm.com> (backported from commit 4fa427c https://github.com/NVIDIA/NV-Kernels 24.04_linux-nvidia-6.17-next) [fenghuay: - Resolve minor conflicts in `drivers/resctrl/mpam_devices.c`; ] Signed-off-by: Fenghua Yu <fenghuay@nvidia.com> [ltrager: Refresh NRDY counting for the v5 propagated-error read paths.] Signed-off-by: Lee Trager <ltrager@nvidia.com> Acked-by: Jamie Nguyen <jamien@nvidia.com> Acked-by: Carol L Soto <csoto@nvidia.com> Acked-by: Seth Forshee <sforshee@nvidia.com> Acked-by: Fenghua Yu <fenghuay@nvidia.com> Acked-by: Nirmoy Das <nirmoyd@nvidia.com> Signed-off-by: Lee Trager <ltrager@nvidia.com>
…n overflow Resctrl has an overflow handler that runs on each domain every second to ensure that any overflow of the hardware counter is accounted for. MPAM can have counters as large as 63 bits, in which case there is no need to check for overflow. To allow the overflow handler to be disabled, determine if an overflow can happen. If a class is not implemented, or has the 63bit counter, it can't overflow. Signed-off-by: James Morse <james.morse@arm.com> (backported from commit 5cbe15bd6c1d393cf1ffe2b259a3be54a5345e1e https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git) [ltrager: Minor merge conflict] Signed-off-by: Lee Trager <ltrager@nvidia.com> Acked-by: Jamie Nguyen <jamien@nvidia.com> Acked-by: Carol L Soto <csoto@nvidia.com> Acked-by: Seth Forshee <sforshee@nvidia.com> Acked-by: Fenghua Yu <fenghuay@nvidia.com> Signed-off-by: Lee Trager <ltrager@nvidia.com>
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`;
ltrager:
- Call mb_max_lim_init() before resctrl_mon_init(), which 'Include all MSC
components' renamed from resctrl_l3_mon_resource_init().
]
Signed-off-by: Fenghua Yu <fenghuay@nvidia.com>
Signed-off-by: Lee Trager <ltrager@nvidia.com>
Acked-by: Jamie Nguyen <jamien@nvidia.com>
Acked-by: Carol L Soto <csoto@nvidia.com>
Acked-by: Seth Forshee <sforshee@nvidia.com>
Acked-by: Fenghua Yu <fenghuay@nvidia.com>
Signed-off-by: Lee Trager <ltrager@nvidia.com>
A single MPAM class can contain multiple MSC components, and a CPU may be associated with more than one of them. Domain create/destroy only walked the first matching component, so controls and monitors were not installed for the rest. Traffic through those omitted components then had no resctrl domain and bandwidth accounting or schemata did not apply where expected. Iterate every component associated with a CPU on online/offline and key domain lookup and allocation by component so each MSC instance gets its own resctrl domain. Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com> Signed-off-by: Fenghua Yu <fenghuay@nvidia.com> (backported from commit 46160db https://github.com/NVIDIA/NV-Kernels/tree/26.04_linux-nvidia-bos) [ltrager: - Refresh the multi-MSC and MBA-backed monitor changes for ABMC v5. - Preserve v5 per-counter assignments and targeted counter reset. - Derive num_mbm_cntrs from the monitoring class selected for each resource. - Retain downstream MB_HLIM initialization in resctrl_init(). ] Signed-off-by: Lee Trager <ltrager@nvidia.com> Acked-by: Jamie Nguyen <jamien@nvidia.com> Acked-by: Carol L Soto <csoto@nvidia.com> Acked-by: Seth Forshee <sforshee@nvidia.com> Acked-by: Fenghua Yu <fenghuay@nvidia.com> Acked-by: Nirmoy Das <nirmoyd@nvidia.com> Signed-off-by: Lee Trager <ltrager@nvidia.com>
BugLink: https://bugs.launchpad.net/bugs/2154527 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> Acked-by: Jamie Nguyen <jamien@nvidia.com> Acked-by: Carol L Soto <csoto@nvidia.com> Signed-off-by: Brad Figg <bfigg@nvidia.com> (backported from commit 059412d https://github.com/NVIDIA/NV-Kernels/tree/26.04_linux-nvidia-bos) [ltrager: Keep ABMC v5 resource synchronization keyed to assigned MBM counters.] Signed-off-by: Lee Trager <ltrager@nvidia.com> Acked-by: Seth Forshee <sforshee@nvidia.com> Acked-by: Fenghua Yu <fenghuay@nvidia.com> Acked-by: Nirmoy Das <nirmoyd@nvidia.com> Signed-off-by: Lee Trager <ltrager@nvidia.com>
… events BugLink: https://bugs.launchpad.net/bugs/2157922 When mbm_total_bytes is exposed on MBA for memory-level MSC monitors, resctrl_arch_mon_capable() must reflect mon_capable on the backing resource, not only L3. Also gate MBM counter auto-assign and unassign on each enabled event's resource so MBA-backed mbm_total_bytes gets ABMC setup on group create and cleanup on group delete. Signed-off-by: Fenghua Yu <fenghuay@nvidia.com> Acked-by: Matthew R. Ochs <mochs@nvidia.com> Acked-by: Carol L Soto <csoto@nvidia.com> Signed-off-by: Brad Figg <bfigg@nvidia.com> (cherry picked from commit 568443a https://github.com/NVIDIA/NV-Kernels/tree/24.04_linux-nvidia-6.17-next) Signed-off-by: Lee Trager <ltrager@nvidia.com> Acked-by: Jamie Nguyen <jamien@nvidia.com> Acked-by: Seth Forshee <sforshee@nvidia.com> Acked-by: Fenghua Yu <fenghuay@nvidia.com> Signed-off-by: Lee Trager <ltrager@nvidia.com>
…p token When the tasks interface receives an "iommu_group:id" configuration, the original code fails to skip the PID parsing logic after processing the IOMMU group. This causes the same token to be incorrectly passed to kstrtoint() as a PID, resulting in -EINVAL. Restructure the conditional logic to use explicit if-else branches, ensuring that IOMMU group tokens are processed by rdtgroup_move_iommu() and then skipped. This fix also enables proper handling of mixed configurations with multiple consecutive iommu_group:id and pid entries (e.g., echo "iommu_group:1,1234,iommu_group:2,5678" > tasks). Fixes: da486d1 ("NVIDIA: SAUCE: fs/resctrl: Add support for assigning iommu_groups to resctrl groups") Signed-off-by: Zeng Heng <zengheng4@huawei.com> (cherry picked from https://lore.kernel.org/r/20260414032610.1523958-2-zengheng4@huawei.com) Signed-off-by: Lee Trager <ltrager@nvidia.com>
…_move_iommu() The 'of' (kernfs_open_file) parameter in rdtgroup_move_iommu() is not used within the function body. Remove it to simplify the interface and eliminate the unnecessary argument passing. Signed-off-by: Zeng Heng <zengheng4@huawei.com> (cherry picked from https://lore.kernel.org/r/20260414032610.1523958-3-zengheng4@huawei.com) Signed-off-by: Lee Trager <ltrager@nvidia.com>
…e groups When deleting a control group, monitor group, or unmounting the resctrl filesystem, migrate all associated IOMMU groups to the appropriate destination: * Control group deletion: move IOMMU groups to the default group * Monitor group deletion: move IOMMU groups to the parent control group * Filesystem unmount: move all IOMMU groups to the default group Without this migration, IOMMU groups remain bound to stale PARTID/PMG values of the destroyed group, causing them to "disappear" from the resctrl interface. Add rdt_move_group_iommus() to handle this migration, mirroring the existing rdt_move_group_tasks() pattern for task migration. When deleting a control group or unmounting the resctrl file system, it is necessary to move its all iommu_groups back to the default group. When removing a monitor group, need to move its iommu_groups back to the parent control group. Otherwise, these iommu_groups remain bound to the old PARTID and PMG, and they will appear to "disappear" from the resctrl fs. Signed-off-by: Zeng Heng <zengheng4@huawei.com> (cherry picked from https://lore.kernel.org/r/20260414032610.1523958-4-zengheng4@huawei.com) Signed-off-by: Lee Trager <ltrager@nvidia.com>
…FIG_RESCTRL_IOMMU=n resctrl.h declares resctrl_arch_set_iommu_closid_rmid() and the two match helpers under #ifdef CONFIG_RESCTRL_IOMMU, with static inline stubs in the #else branch. mpam_resctrl.c defines the same functions unconditionally, handling CONFIG_RESCTRL_IOMMU=n inside the function bodies with IS_ENABLED() checks. RESCTRL_IOMMU is only selected when ARM_SMMU_V3 is enabled, so building with ARM64_MPAM_RESCTRL_FS=y and ARM_SMMU_V3=n pulls the static inline stubs into mpam_resctrl.c alongside its out-of-line definitions: drivers/resctrl/mpam_resctrl.c:388:5: error: redefinition of 'resctrl_arch_set_iommu_closid_rmid' drivers/resctrl/mpam_resctrl.c:404:6: error: redefinition of 'resctrl_arch_match_iommu_closid' drivers/resctrl/mpam_resctrl.c:421:6: error: redefinition of 'resctrl_arch_match_iommu_closid_rmid' Drop the stubs and declare the prototypes unconditionally. The definitions already handle the disabled case internally, and on architectures that never implement them every caller is behind an IS_ENABLED(CONFIG_RESCTRL_IOMMU) check, so the calls are removed as dead code. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Lee Trager <ltrager@nvidia.com> Acked-by: Jamie Nguyen <jamien@nvidia.com> Acked-by: Carol L Soto <csoto@nvidia.com> Acked-by: Seth Forshee <sforshee@nvidia.com> Acked-by: Fenghua Yu <fenghuay@nvidia.com> (cherry picked from commit 6024242 https://github.com/NVIDIA/NV-Kernels/tree/linux-nvidia-6.18-next) Signed-off-by: Lee Trager <ltrager@nvidia.com>
When an MSC becomes inaccessible due to cpu offline CFG_MBWU_CTL is set to zero in mpam_save_mbwu_state(). This is very likely to mean that the config will mismatch when restoring and so the monitor will be reset. However, the state may have been lost and so there are no guarantees. Ensure the reset happens by setting the reset_on_next_read and remove the unnecessary writes from mpam_save_mbwu_state(). Fixes: 41e8a14 ("arm_mpam: Track bandwidth counter state for power management") Signed-off-by: Ben Horgan <ben.horgan@arm.com> (cherry picked from https://lore.kernel.org/r/20260710115546.29644-6-ben.horgan@arm.com) Signed-off-by: Lee Trager <ltrager@nvidia.com>
…ting groups iommu_group_get_from_kobj() returns with a reference held on group->devices_kobj, which the caller must release with iommu_group_put(). The explicit kobject_get() taken before the call only compensates for the kobject_put(&group->kobj) that iommu_group_get_from_kobj() performs internally. Neither show_rdt_iommu() nor rdt_move_group_iommus() ever calls iommu_group_put(), so each leaks one iommu_group reference per group in the kset on every invocation: every read of a tasks file for the former, and every ctrl/mon group rmdir or resctrl unmount for the latter. Since devices_kobj pins the group's kobject, leaked groups can never be freed. rdt_move_group_iommus() additionally leaks the iterator's reference on group_kobj on its error paths: kset_get_next_obj() only drops the reference on the current kobject when it is passed back as @Prev on the next call, so breaking out of the loop early leaks it. Drop the iommu_group reference at the end of each loop iteration, and drop the group_kobj reference before breaking out of the loop on error. Reported in upstream review - https://lore.kernel.org/all/c53d8057-d3c3-4000-8ce2-876385ca3f25@trager.us/ Fixes: da486d1 ("NVIDIA: SAUCE: fs/resctrl: Add support for assigning iommu_groups to resctrl groups") Fixes: 0f5b95a ("NVIDIA: SAUCE: fs/resctrl: Migrate IOMMU groups when removing resource groups") Signed-off-by: Lee Trager <ltrager@nvidia.com> Acked-by: Jamie Nguyen <jamien@nvidia.com> Acked-by: Carol L Soto <csoto@nvidia.com> Acked-by: Seth Forshee <sforshee@nvidia.com> Acked-by: Fenghua Yu <fenghuay@nvidia.com> (cherry picked from commit a4d885b https://github.com/NVIDIA/NV-Kernels/tree/linux-nvidia-6.18-next) Signed-off-by: Lee Trager <ltrager@nvidia.com>
mbwu_save_mbwu_state() reads the MBWU counters and adds that to a saved correction value. However, the type of counter to read is determined by the RIS rather than the class and overflow is not taken into account. Fix this and mitigate against further divergence by using the same helper as used for user reads, __ris_msmon_read(). Fixes: 41e8a14 ("arm_mpam: Track bandwidth counter state for power management") Signed-off-by: Ben Horgan <ben.horgan@arm.com> (cherry picked from https://lore.kernel.org/r/20260710115546.29644-7-ben.horgan@arm.com) Signed-off-by: Lee Trager <ltrager@nvidia.com>
T241-MPAM-6 causes all MBWU counter formats to count 64-byte requests instead of bytes. Commit dc48eb1 excluded the 63-bit MSMON_MBWU_LWD format while scaling the shorter counters. Systems selecting the preferred 63-bit counter consequently report bandwidth values that are 64 times too small. Apply the scale to both the sampled value and overflow correction for the 63-bit format. Unsigned arithmetic retains modulo-u64 behavior when the scaled counter range exceeds u64. Fixes: dc48eb1 ("arm_mpam: Add workaround for T241-MPAM-6") Link: https://lore.kernel.org/lkml/20240816131432.993859-1-sdonthineni@nvidia.com/ Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com> Reviewed-by: Fenghua Yu <fenghuay@nvidia.com> Tested-by: Fenghua Yu <fenghuay@nvidia.com> Reviewed-by: Ben Horgan <ben.horgan@arm.com> Signed-off-by: Ben Horgan <ben.horgan@arm.com> Signed-off-by: Will Deacon <will@kernel.org> (cherry picked from commit 2c43ace) Signed-off-by: Lee Trager <ltrager@nvidia.com>
…store_mbwu_state() m->err may be read before initialization in __ris_msmon_read() when called from mpam_restore_mbwu_state(). Initialize the whole struct mon_read in mpam_restore_mbwu_state() and fix the spelling of mbwu in the name. Fixes: 41e8a14 ("arm_mpam: Track bandwidth counter state for power management") Signed-off-by: Ben Horgan <ben.horgan@arm.com> (cherry picked from https://lore.kernel.org/r/20260710115546.29644-8-ben.horgan@arm.com) [ltrager: Keep val zero-initialized because __ris_msmon_read() accumulates into it.] Signed-off-by: Lee Trager <ltrager@nvidia.com>
…s L3 The class used to back mbm_total_bytes can be either at the L3 or the memory. If a platform had candidate classes at both the memory and the L3 then, as the check for whether the existing class is L3 or not in counter_update_class() is broken, the class that will be chosen depends on which order the classes are considered and so the probe order. Fix the check. Fixes: 1458c4f ("arm_mpam: resctrl: Add support for csu counters") Signed-off-by: Ben Horgan <ben.horgan@arm.com> (cherry picked from https://lore.kernel.org/r/20260710115546.29644-9-ben.horgan@arm.com) Signed-off-by: Lee Trager <ltrager@nvidia.com>
mpam_msc_drv_remove() releases the PCC channel before unlinking the MSC from the SRCU-protected lists. If this drops the final channel reference, an existing reader can dereference the freed channel through its retained MSC. Simply moving the release after mpam_free_garbage() is insufficient. A concurrent garbage collector can claim the queued MSC and wait for the grace period while the remove caller finds an empty garbage list and releases the channel immediately. Add an optional garbage release callback and use it to drop each MSC PCC reference after the collector completes synchronize_srcu(). This also releases PCC references when mpam_disable() destroys the MSCs. Fixes: 0585297 ("NVIDIA: SAUCE: arm_mpam: detect and enable MPAM-Fb PCC support") Signed-off-by: Lee Trager <ltrager@nvidia.com> Acked-by: Nirmoy Das <nirmoyd@nvidia.com> Acked-by: Seth Forshee <sforshee@nvidia.com> (cherry picked from commit b7436bb https://github.com/NVIDIA/NV-Kernels/tree/linux-nvidia-6.18-next) Signed-off-by: Lee Trager <ltrager@nvidia.com>
The error IRQ is devm-managed and is not released until after the platform driver remove callback returns. mpam_msc_drv_remove() queues the MSC for deferred freeing. The garbage collector can free it and drop its PCC channel before devres unregisters the IRQ. A pending handler can then dereference the freed MSC or PCC channel. Factor the per-MSC portion of mpam_unregister_irqs() into a helper. Call it before unlinking the MSC. Hold the CPU hotplug lock and MPAM SRCU read lock as required for MMIO access while disabling the hardware interrupt. Before freeing a per-CPU interrupt, disable it on every online CPU that can access the MSC. free_percpu_irq() and devm_free_irq() then synchronize with active handlers before returning. The existing deferred garbage release waits for SRCU readers before releasing the PCC channel and MSC. Fixes: 49aa621 ("arm_mpam: Register and enable IRQs") Signed-off-by: Lee Trager <ltrager@nvidia.com>
rdt_move_group_iommus() stops walking IOMMU groups after the first migration error. Its callers discard the return value and continue tearing down the resctrl group, so later IOMMU groups can retain stale CLOSID and RMID values. Continue walking after per-group failures while preserving the first error as the return value. Advancing kset_get_next_obj() releases the iterator reference for the previous object, so remove the explicit error-path kobject_put() together with the break. Fixes: 0f5b95a ("NVIDIA: SAUCE: fs/resctrl: Migrate IOMMU groups when removing resource groups") Signed-off-by: Lee Trager <ltrager@nvidia.com>
a3b088c to
c6f7a1c
Compare
|
@jamieNguyenNVIDIA - Thanks for the reviews. Updated as suggested. |
|
|
|
@fyu1 Can you please review / ack this PR when you get a chance? Thanks! |
|
The patches look good to me. Do we need to keep the branch same as upstream? If yes, this branch misses a few more upstream patches: None of them is essential though. Without considering the missing patches, Acked-by: Fenghua Yu fenghuay@nvidia.com Thanks. |
|
@fyu1 - Thanks for the review! As discussed in todays meeting we will not be applying those 4 patches. |
|
Merged, closing PR. |
Overview
When backporting MPAM to the linux-nvidia-6.18 kernel I took the latest MPAM/resctrl patch series from LORE and Linus's tree. This left linux-nvidia-6.18-next with newer MPAM/resctrl support than 26.04_linux-nvidia-bos. This PR updates 26.04_linux-nvidia-bos MPAM/resctrl support to mirror what is in linux-nvidia-6.18-next, while retaining the required BOS-specific integration changes.
I have not yet created a bug on launchpad yet as I'd like to get feedback as to whether we want to proceed or not.
LP Bug: https://bugs.launchpad.net/ubuntu/+source/linux-nvidia/+bug/2167008
Updated Patch Series
New Patch Series
New patch series applied to resolve conflicts with updated series
Patches now sourced from Linus's tree
Reverted and Reapplied Patches
The older versions were reverted before replaying their replacements in dependency order. This avoids layering the newer series over overlapping BOS SAUCE implementations and makes the required conflict resolutions explicit.
0f0f62d1cd9262b5c4d7ec21mbm_L3_assignandmon_local_bytes9d97d90c12bc9343a4d7c69amax_limsysfs supporteb2a397ffd990375f48339ebhardlim_rw3f89f038d12e497927a4144f39c973a9670a2c2b0824b2833ce46c56e79040878d018a1f7abd6df46f5e68f7f93b2b89280d19355685a4bdf575670269037f27389137844a5cdb789f1da5623808e87d5188d3bdf1c8da0cfad398377e75e7714bfc66310af12647763ba37ethis_is_not_abimount option1bf2d6c7b57857dc56521ca05ddc3a894634a94bee05d1607a882f69a85b0694f0e9b3afmon_selregisters0d9b271e9466e5a6b275c27c154491fb081517c6383eb1fb56836799ed9ab65066184f81dom_data_exit()andrmid_ptrs[]race4dee6626ad779176563c832aa639261dd308bf6dfdc6ce01resctrl_arch_config_cntr()for ABMC77c4e9f9d6293dd88e6bf668a199cc64eb18fe2c2b28b50f2d109004824f6550788495feeaff6c2bde68a466792cdf0fTesting
Built and ran on a Vera system. Greenlit passes all MPAM tests