Amit Singh Tomar (1):
fs/resctrl: Remove the limit on the number of CLOSID
James Morse (84):
x86/resctrl: Add a helper to avoid reaching into the arch code
resource list
x86/resctrl: Move ctrlval string parsing links away from the arch code
x86/resctrl: Add helper for setting CPU default properties
x86/resctrl: Remove rdtgroup from update_cpu_closid_rmid()
x86/resctrl: Export resctrl fs's init function
x86/resctrl: Wrap resctrl_arch_find_domain() around rdt_find_domain()
x86/resctrl: Move resctrl types to a separate header
x86/resctrl: Add a resctrl helper to reset all the resources
x86/resctrl: Move monitor init work to a resctrl init call
x86/resctrl: Move monitor exit work to a restrl exit call
x86/resctrl: Move max_{name,data}_width into resctrl code
x86/resctrl: Stop using the for_each_*_rdt_resource() walkers
x86/resctrl: Export the is_mbm_*_enabled() helpers to asm/resctrl.h
x86/resctrl: Add resctrl_arch_is_evt_configurable() to abstract BMEC
x86/resctrl: Change mon_event_config_{read,write}() to be arch helpers
x86/resctrl: Allow resctrl_arch_mon_event_config_write() to return an
error
x86/resctrl: Allow an architecture to disable pseudo lock
x86/resctrl: Make prefetch_disable_bits belong to the arch code
x86/resctrl: Make resctrl_arch_pseudo_lock_fn() take a plr
x86/resctrl: Move thread_throttle_mode_init() to be managed by resctrl
x86/resctrl: Move get_config_index() to a header
x86/resctrl: Claim get_domain_from_cpu() for resctrl
x86/resctrl: Describe resctrl's bitmap size assumptions
x86/resctrl: Drop __init/__exit on assorted symbols
fs/resctrl: Add boiler plate for external resctrl code
x86/resctrl: Move mbm_cfg_mask to struct rdt_resource
x86/resctrl: Move the filesystem bits to headers visible to fs/resctrl
x86/resctrl: Move the filesystem portions of resctrl to live in '/fs/'
arm64: head.S: Initialise MPAM EL2 registers and disable traps
arm64: cpufeature: discover CPU support for MPAM
KVM: arm64: Fix missing traps of guest accesses to the MPAM registers
KVM: arm64: Disable MPAM visibility by default, and handle traps
arm64: mpam: Context switch the MPAM registers
untested: KVM: arm64: Force guest EL1 to use user-space's partid
configuration
ACPI / PPTT: Provide a helper to walk processor containers
ACPI / PPTT: Find PPTT cache level by ID
ACPI / PPTT: Add a helper to fill a cpumask from a processor container
ACPI / PPTT: Add a helper to fill a cpumask from a cache_id
cacheinfo: Expose the code to generate a cache-id from a device_node
drivers: base: cacheinfo: Add helper to find the cache size from
cpu+level
ACPI / MPAM: Parse the MPAM table
arm_mpam: Add probe/remove for mpam msc driver and kbuild boiler plate
arm_mpam: Add the class and component structures for ris firmware
described
arm_mpam: Add MPAM MSC register layout definitions
arm_mpam: Add cpuhp callbacks to probe MSC hardware
arm_mpam: Probe MSCs to find the supported partid/pmg values
arm_mpam: Probe the hardware features resctrl supports
arm_mpam: Merge supported features during mpam_enable() into
mpam_class
arm_mpam: Reset MSC controls from cpu hp callbacks
arm_mpam: Add a helper to touch an MSC from any CPU
arm_mpam: Extend reset logic to allow devices to be reset any time
arm_mpam: Register and enable IRQs
arm_mpam: Use the arch static key to indicate when mpam is enabled
arm_mpam: Allow configuration to be applied and restored during cpu
online
arm_mpam: Probe and reset the rest of the features
arm_mpam: Add helpers to allocate monitors
arm_mpam: Add mpam_msmon_read() to read monitor value
arm_mpam: Track bandwidth counter state for overflow and power
management
arm_mpam: Add helper to reset saved mbwu state
arm_mpam: resctrl: Add boilerplate cpuhp and domain allocation
arm_mpam: resctrl: Pick the caches we will use as resctrl resources
arm_mpam: resctrl: Pick a value for num_rmid
arm_mpam: resctrl: Implement resctrl_arch_reset_resources()
arm_mpam: resctrl: Add resctrl_arch_get_config()
arm_mpam: resctrl: Implement helpers to update configuration
arm_mpam: resctrl: Add CDP emulation
arm64: mpam: Add helpers to change a tasks and cpu mpam partid/pmg
values
arm_mpam: resctrl: Add rmid index helpers
untested: arm_mpam: resctrl: Add support for MB resource
untested: arm_mpam: resctrl: Add support for mbm counters
arm_mpam: resctrl: Allow resctrl to allocate monitors
arm_mpam: resctrl: Add resctrl_arch_rmid_read() and
resctrl_arch_reset_rmid()
untested: arm_mpam: resctrl: Allow monitors to be configured
arm_mpam: resctrl: Add empty definitions for pseudo lock
arm_mpam: resctrl: Add empty definitions for fine-grained enables
arm_mpam: resctrl: Add dummy definition for free running counters
arm64: mpam: Select ARCH_HAS_CPU_RESCTRL
perf/arm-cmn: Stop claiming all the resources
arm_mpam: resctrl: Tell resctrl about cpu/domain online/offline
arm_mpam: resctrl: Call resctrl_exit() in the event of errors
arm_mpam: resctrl: Update the rmid reallocation limit
arm64: mpam: Add cpu_pm notifier to restore MPAM sysregs
arm64: mpam: Restore the expected MPAM sysregs on cpuhp
x86/resctrl: Add max_bw to struct resctrl_membw
Rob Herring (3):
cacheinfo: Allow for >32-bit cache 'id'
cacheinfo: Set cache 'id' based on DT data
dt-bindings: arm: Add MPAM MSC binding
Rohit Mathew (2):
arm_mpam: Probe for long/lwd mbwu counters
arm_mpam: Use long MBWU counters if supported
Zeng Heng (78):
Revert "x86/resctrl: Fix arch_mbm_* array overrun on SNC"
Revert "x86/resctrl: Detect Sub-NUMA Cluster (SNC) mode"
Revert "x86/resctrl: Enable shared RMID mode on Sub-NUMA Cluster (SNC)
systems"
Revert "x86/resctrl: Make __mon_event_count() handle sum domains"
Revert "x86/resctrl: Fill out rmid_read structure for smp_call*() to
read a counter"
Revert "x86/resctrl: Handle removing directories in Sub-NUMA Cluster
(SNC) mode"
Revert "x86/resctrl: Create Sub-NUMA Cluster (SNC) monitor files"
Revert "x86/resctrl: Allocate a new field in union mon_data_bits"
Revert "x86/resctrl: Refactor mkdir_mondata_subdir() with a helper
function"
Revert "x86/resctrl: Initialize on-stack struct rmid_read instances"
Revert "x86/resctrl: Add a new field to struct rmid_read for summation
of domains"
Revert "x86/resctrl: Prepare for new Sub-NUMA Cluster (SNC) monitor
files"
Revert "x86/resctrl: Block use of mba_MBps mount option on Sub-NUMA
Cluster (SNC) systems"
Revert "x86/resctrl: Introduce snc_nodes_per_l3_cache"
Revert "x86/resctrl: Add node-scope to the options for feature scope"
Revert "x86/resctrl: Split the rdt_domain and rdt_hw_domain
structures"
Revert "x86/resctrl: Prepare for different scope for control/monitor
operations"
Revert "x86/resctrl: Prepare to split rdt_domain structure"
Revert "x86/resctrl: Prepare for new domain scope"
Revert "x86/resctrl: Replace open coded cacheinfo searches"
Revert "x86/resctrl: Add tracepoint for llc_occupancy tracking"
Revert "x86/resctrl: Rename pseudo_lock_event.h to trace.h"
Revert "x86/resctrl: Simplify call convention for MSR update
functions"
Revert "x86/resctrl: Pass domain to target CPU"
arm_mpam: control memory bandwidth with hard limit flag
resctrl: fix undefined reference to lockdep_is_cpus_held()
fs/resctrl: Move rdtgroup_setup_default() out of init.text section
Revert "KVM: arm64: Disable MPAM visibility by default, and handle
traps"
arm64: cpufeature: Both the major and the minor version numbers need
to be checked
arm64/mpam: skip mpam initialize under kdump kernel
x86: resctrl: Fix illegal access by the chips not having RDT
Revert "arm64: head.S: Initialise MPAM EL2 registers and disable
traps"
arm64/mpam: Check mpam_detect_is_enabled() before accessing MPAM
registers
arm64/mpam: Fix redefined reference of 'mpam_detect_is_enabled'
fs/resctrl: Adapt to the hardware topology structures of RDT and MPAM
arm64/mpam: Support MATA monitor feature for MPAM
arm64/mpam: Add judgment to distinguish MSMON_MBWU_CAPTURE definition
arm64/mpam: Fix out-of-bound access of mbwu_state array
arm64/mpam: fix MBA granularity conversion formula
arm64/mpam: fix bug in percent_to_mbw_max()
arm64/mpam: Fix out-of-bound access of cfg array
arm64/mpam: Improve conversion accuracy between percent and
fixed-point fraction
arm64/mpam: Add write memory barrier to guarantee monitor results
arm64/mpam: Try reading again if monitor instance returns not ready
arm64/mpam: fix memleak in resctrl_arch_mon_ctx_alloc_no_wait()
arm64/mpam: fix impossible condition in get_cpumask_from_cache_id()
arm64/mpam: fix impossible condition in resctrl_arch_rmid_read()
arm64/mpam: Optimize CSU/MBWU monitor multiplexing
fs/resctrl: Determine whether the MBM monitors require overflow
checking
arm64/mpam: Set the cpbm width of msc class with the minimum
arm64/mpam: Correct the judgment condition of the CMAX feature
fs/resctrl: Fix kmemleak caused by closid_init()
arm64/mpam: Fix allocated cache size information
arm64/mpam: Add debugging information about CDP monitor value
fs/resctrl: Fix configuration to wrong control group when CDP is
enabled
fs/resctrl: As a pre-patch for expanding MPAM's QoS capability
arm64/mpam: Add CMAX feature
arm64/mpam: Add mbw_min and cmin features
arm64/mpam: Add PRIO feature
arm64/mpam: Add limit feature
x86/resctrl: Add a handling path of default label in
get_arch_mbm_state()
fs/resctrl: Create l2 cache monitors
fs/resctrl: Add l2 mount option to enable L2 msc
arm64/mpam: Refuse cpu offline when L2 msc is enabled
arm64/mpam: Refuse to enter powerdown state after L2 msc updated
fs/resctrl: Fix the crash caused by mounting resctrl but not support
RDT
arm64/mpam: Fix num_rmids information
arm64/mpam: Set 1 as the minimum setting value for MBA
arm64/mpam: Update QoS partition default value
fs/resctrl: Free mbm_total and mbm_local when fails
fs/resctrl: Restore default settings for all resctrl_res_level
fs/resctrl: Add missing rdt_last_cmd_clear() after
rdtgroup_kn_lock_live()
arm64/mpam: Add MPAM manual
fs/resctrl: Prevent idle RMIDs from not being released in time from
limbo
fs/resctrl: L2_MON does not support the limbo mechanism
fs/resctrl: Fix return value in rdtgroup_pseudo_locked_in_hierarchy()
x86/resctrl: Revert x86 RDT code back
x86/resctrl: Decouple ARM MPAM from x86 RDT
.../arch/arm64/cpu-feature-registers.rst | 2 +
Documentation/arch/arm64/mpam.md | 587 +++
.../devicetree/bindings/arm/arm,mpam-msc.yaml | 227 +
MAINTAINERS | 2 +
arch/Kconfig | 8 +
arch/arm64/Kconfig | 22 +-
arch/arm64/include/asm/cpu.h | 1 +
arch/arm64/include/asm/cpufeature.h | 22 +
arch/arm64/include/asm/kvm_arm.h | 1 +
arch/arm64/include/asm/mpam.h | 167 +
arch/arm64/include/asm/resctrl.h | 1 +
arch/arm64/include/asm/sysreg.h | 8 +
arch/arm64/include/asm/thread_info.h | 3 +
arch/arm64/kernel/Makefile | 1 +
arch/arm64/kernel/cpufeature.c | 110 +
arch/arm64/kernel/cpuinfo.c | 6 +
arch/arm64/kernel/image-vars.h | 5 +
arch/arm64/kernel/mpam.c | 75 +
arch/arm64/kernel/process.c | 7 +
arch/arm64/kvm/hyp/include/hyp/switch.h | 32 +
arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h | 27 +
arch/arm64/kvm/hyp/nvhe/switch.c | 11 +
arch/arm64/kvm/hyp/vhe/sysreg-sr.c | 1 +
arch/arm64/kvm/sys_regs.c | 20 +
arch/arm64/tools/cpucaps | 1 +
arch/arm64/tools/sysreg | 33 +
arch/x86/Kconfig | 3 +-
arch/x86/kernel/cpu/resctrl/rdtgroup.c | 4 +-
drivers/acpi/arm64/Kconfig | 3 +
drivers/acpi/arm64/Makefile | 2 +
drivers/acpi/arm64/mpam.c | 369 ++
drivers/acpi/pptt.c | 278 +-
drivers/acpi/tables.c | 2 +-
drivers/base/cacheinfo.c | 41 +-
drivers/perf/arm-cmn.c | 12 +-
drivers/platform/Kconfig | 2 +
drivers/platform/Makefile | 1 +
drivers/platform/mpam/Kconfig | 8 +
drivers/platform/mpam/Makefile | 1 +
drivers/platform/mpam/mpam_devices.c | 2491 ++++++++++
drivers/platform/mpam/mpam_internal.h | 595 +++
drivers/platform/mpam/mpam_resctrl.c | 1599 +++++++
fs/Kconfig | 1 +
fs/Makefile | 1 +
fs/resctrl/Kconfig | 24 +
fs/resctrl/Makefile | 1 +
fs/resctrl/ctrlmondata.c | 563 +++
fs/resctrl/internal.h | 295 ++
fs/resctrl/monitor.c | 814 ++++
fs/resctrl/psuedo_lock.c | 1134 +++++
fs/resctrl/rdtgroup.c | 4066 +++++++++++++++++
include/linux/acpi.h | 17 +
include/linux/arm_mpam.h | 109 +
include/linux/cacheinfo.h | 28 +-
include/linux/resctrl.h | 7 +
include/linux/resctrl_mpam.h | 452 ++
include/linux/resctrl_types.h | 119 +
57 files changed, 14410 insertions(+), 12 deletions(-)
create mode 100644 Documentation/arch/arm64/mpam.md
create mode 100644 Documentation/devicetree/bindings/arm/arm,mpam-msc.yaml
create mode 100644 arch/arm64/include/asm/mpam.h
create mode 100644 arch/arm64/include/asm/resctrl.h
create mode 100644 arch/arm64/kernel/mpam.c
create mode 100644 drivers/acpi/arm64/mpam.c
create mode 100644 drivers/platform/mpam/Kconfig
create mode 100644 drivers/platform/mpam/Makefile
create mode 100644 drivers/platform/mpam/mpam_devices.c
create mode 100644 drivers/platform/mpam/mpam_internal.h
create mode 100644 drivers/platform/mpam/mpam_resctrl.c
create mode 100644 fs/resctrl/Kconfig
create mode 100644 fs/resctrl/Makefile
create mode 100644 fs/resctrl/ctrlmondata.c
create mode 100644 fs/resctrl/internal.h
create mode 100644 fs/resctrl/monitor.c
create mode 100644 fs/resctrl/psuedo_lock.c
create mode 100644 fs/resctrl/rdtgroup.c
create mode 100644 include/linux/arm_mpam.h
create mode 100644 include/linux/resctrl_mpam.h
create mode 100644 include/linux/resctrl_types.h
--
2.25.1