Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
a9c0fc5
Revert "NVIDIA: SAUCE: untested: arm_mpam: resctrl: Allow resctrl to …
fyu1 Mar 11, 2026
49ac1c1
Revert "NVIDIA: SAUCE: arm_mpam: resctrl: Add NUMA node notifier for …
fyu1 Mar 11, 2026
8f89d23
Revert "NVIDIA: SAUCE: untested: arm_mpam: resctrl: Split mpam_resctr…
fyu1 Mar 11, 2026
09d98ec
Revert "NVIDIA: SAUCE: arm_mpam: resctrl: Change domain_hdr online/of…
fyu1 Mar 11, 2026
a85bdf2
Revert "NVIDIA: SAUCE: arm_mpam: resctrl: Pick whether MB can use NUM…
fyu1 Mar 11, 2026
94b11e8
Revert "NVIDIA: SAUCE: Fix unused variable warning"
fyu1 Mar 11, 2026
c31f19f
Revert "NVIDIA: SAUCE: fs/resctrl: Add mount option for mb_uses_numa_…
fyu1 Mar 11, 2026
ab79bc7
Revert "NVIDIA: SAUCE: fs/resctrl: Take memory hotplug lock whenever …
fyu1 Mar 11, 2026
bea908d
Revert "NVIDIA: SAUCE: mm,memory_hotplug: Add lockdep assertion helper"
fyu1 Mar 11, 2026
9566a3d
Revert "NVIDIA: SAUCE: untested: arm_mpam: resctrl: Allow monitors to…
fyu1 Mar 12, 2026
cea4bbc
Revert "NVIDIA: SAUCE: arm_mpam: Add workaround for T241-MPAM-4"
fyu1 Mar 13, 2026
294734f
NVIDIA: SAUCE: arm_mpam: Add workaround for T241-MPAM-4
shankerd04 Dec 5, 2025
1b51f4e
x86,fs/resctrl: Improve domain type checking
aegl Dec 17, 2025
6b65071
x86/resctrl: Move L3 initialization into new helper function
aegl Dec 17, 2025
2f17b93
x86/resctrl: Refactor domain_remove_cpu_mon() ready for new domain types
aegl Dec 17, 2025
1eac33a
x86/resctrl: Clean up domain_remove_cpu_ctrl()
aegl Dec 17, 2025
a0d0695
x86,fs/resctrl: Refactor domain create/remove using struct rdt_domain…
aegl Dec 17, 2025
08acebe
fs/resctrl: Split L3 dependent parts out of __mon_event_count()
aegl Dec 17, 2025
7e11828
x86,fs/resctrl: Use struct rdt_domain_hdr when reading counters
aegl Dec 17, 2025
a1dffa9
x86,fs/resctrl: Rename struct rdt_mon_domain and rdt_hw_mon_domain
aegl Dec 17, 2025
6d2df1f
x86,fs/resctrl: Rename some L3 specific functions
aegl Dec 17, 2025
bfc5d53
fs/resctrl: Make event details accessible to functions when reading e…
aegl Dec 17, 2025
945d10e
x86,fs/resctrl: Handle events that can be read from any CPU
aegl Dec 17, 2025
87a79d9
x86,fs/resctrl: Support binary fixed point event counters
aegl Dec 17, 2025
c4d5709
x86,fs/resctrl: Add an architectural hook called for first mount
aegl Jan 8, 2026
4b2e85d
x86,fs/resctrl: Add and initialize a resource for package scope monit…
aegl Dec 17, 2025
f8a97b4
fs/resctrl: Emphasize that L3 monitoring resource is required for sum…
aegl Dec 17, 2025
1203adf
x86/resctrl: Discover hardware telemetry events
aegl Jan 8, 2026
c445f3b
x86,fs/resctrl: Fill in details of events for performance and energy …
aegl Dec 17, 2025
b581746
x86,fs/resctrl: Add architectural event pointer
aegl Dec 17, 2025
62e408c
x86/resctrl: Find and enable usable telemetry events
aegl Dec 17, 2025
826e8b6
x86/resctrl: Read telemetry events
aegl Dec 17, 2025
dd474e1
fs/resctrl: Refactor mkdir_mondata_subdir()
aegl Dec 17, 2025
c9b4ae2
fs/resctrl: Refactor rmdir_mondata_subdir_allrdtgrp()
aegl Dec 17, 2025
e09285f
x86,fs/resctrl: Handle domain creation/deletion for RDT_RESOURCE_PERF…
aegl Dec 17, 2025
568c9cb
x86/resctrl: Add energy/perf choices to rdt boot option
aegl Dec 17, 2025
04d5b81
x86/resctrl: Handle number of RMIDs supported by RDT_RESOURCE_PERF_PKG
aegl Dec 17, 2025
897660c
fs/resctrl: Move allocation/free of closid_num_dirty_rmid[]
aegl Dec 17, 2025
3ce2fa2
x86,fs/resctrl: Compute number of RMIDs as minimum across resources
aegl Dec 17, 2025
9c75c47
fs/resctrl: Move RMID initialization to first mount
aegl Dec 17, 2025
3e029a8
x86/resctrl: Enable RDT_RESOURCE_PERF_PKG
aegl Jan 8, 2026
7aa78a7
x86,fs/resctrl: Update documentation for telemetry events
aegl Dec 17, 2025
9aee1a0
NVIDIA: VR: SAUCE: arm_mpam: Fix compilation errors to adapt to resct…
fyu1 Mar 12, 2026
cdbf3f0
NVIDIA: SAUCE: arm_mpam: Avoid MSC teardown for the SW programming er…
shankerd04 Nov 24, 2025
14e7ba5
NVIDIA: VR: SAUCE: arm_mpam: Handle CPU-less numa nodes
shankerd04 May 13, 2025
879eb1b
NVIDIA: VR: SAUCE: arm_mpam: Include all associated MSC components du…
shankerd04 Nov 24, 2025
a01fa4a
NVIDIA: SAUCE: resctrl/mpam: reset RIS by applying explicit default c…
shankerd04 Mar 4, 2026
10ede13
NVIDIA: SAUCE: iommu/arm-smmu-v3: Fix MPAM for indentity-mappings
shankerd04 May 7, 2025
ecd11fd
NVIDIA: VR: SAUCE: arm_mpam: Resolve MBWU type before feature check i…
fyu1 Mar 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6174,8 +6174,14 @@
Turn on/off individual RDT features. List is:
cmt, mbmtotal, mbmlocal, l3cat, l3cdp, l2cat, l2cdp,
mba, smba, bmec, abmc.
mba, smba, bmec, abmc, sdciae, energy[:guid],
perf[:guid].
E.g. to turn on cmt and turn off mba use:
rdt=cmt,!mba
To turn off all energy telemetry monitoring and ensure that
perf telemetry monitoring associated with guid 0x12345
is enabled use:
rdt=!energy,perf:0x12345

reboot= [KNL]
Format (x86 or x86_64):
Expand Down
66 changes: 54 additions & 12 deletions Documentation/filesystems/resctrl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -167,13 +167,12 @@ with respect to allocation:
bandwidth percentages are directly applied to
the threads running on the core

If RDT monitoring is available there will be an "L3_MON" directory
If L3 monitoring is available there will be an "L3_MON" directory
with the following files:

"num_rmids":
The number of RMIDs available. This is the
upper bound for how many "CTRL_MON" + "MON"
groups can be created.
The number of RMIDs supported by hardware for
L3 monitoring events.

"mon_features":
Lists the monitoring events if
Expand Down Expand Up @@ -399,6 +398,24 @@ with the following files:
bytes) at which a previously used LLC_occupancy
counter can be considered for re-use.

If telemetry monitoring is available there will be a "PERF_PKG_MON" directory
with the following files:

"num_rmids":
The number of RMIDs for telemetry monitoring events.

On Intel resctrl will not enable telemetry events if the number of
RMIDs that can be tracked concurrently is lower than the total number
of RMIDs supported. Telemetry events can be force-enabled with the
"rdt=" kernel parameter, but this may reduce the number of
monitoring groups that can be created.

"mon_features":
Lists the telemetry monitoring events that are enabled on this system.

The upper bound for how many "CTRL_MON" + "MON" can be created
is the smaller of the L3_MON and PERF_PKG_MON "num_rmids" values.

Finally, in the top level of the "info" directory there is a file
named "last_cmd_status". This is reset with every "command" issued
via the file system (making new directories or writing to any of the
Expand Down Expand Up @@ -504,15 +521,40 @@ When control is enabled all CTRL_MON groups will also contain:
When monitoring is enabled all MON groups will also contain:

"mon_data":
This contains a set of files organized by L3 domain and by
RDT event. E.g. on a system with two L3 domains there will
be subdirectories "mon_L3_00" and "mon_L3_01". Each of these
directories have one file per event (e.g. "llc_occupancy",
"mbm_total_bytes", and "mbm_local_bytes"). In a MON group these
files provide a read out of the current value of the event for
all tasks in the group. In CTRL_MON groups these files provide
the sum for all tasks in the CTRL_MON group and all tasks in
This contains directories for each monitor domain.

If L3 monitoring is enabled, there will be a "mon_L3_XX" directory for
each instance of an L3 cache. Each directory contains files for the enabled
L3 events (e.g. "llc_occupancy", "mbm_total_bytes", and "mbm_local_bytes").

If telemetry monitoring is enabled, there will be a "mon_PERF_PKG_YY"
directory for each physical processor package. Each directory contains
files for the enabled telemetry events (e.g. "core_energy". "activity",
"uops_retired", etc.)

The info/`*`/mon_features files provide the full list of enabled
event/file names.

"core energy" reports a floating point number for the energy (in Joules)
consumed by cores (registers, arithmetic units, TLB and L1/L2 caches)
during execution of instructions summed across all logical CPUs on a
package for the current monitoring group.

"activity" also reports a floating point value (in Farads). This provides
an estimate of work done independent of the frequency that the CPUs used
for execution.

Note that "core energy" and "activity" only measure energy/activity in the
"core" of the CPU (arithmetic units, TLB, L1 and L2 caches, etc.). They
do not include L3 cache, memory, I/O devices etc.

All other events report decimal integer values.

In a MON group these files provide a read out of the current value of
the event for all tasks in the group. In CTRL_MON groups these files
provide the sum for all tasks in the CTRL_MON group and all tasks in
MON groups. Please see example section for more details on usage.

On systems with Sub-NUMA Cluster (SNC) enabled there are extra
directories for each node (located within the "mon_L3_XX" directory
for the L3 cache they occupy). These are named "mon_sub_L3_YY"
Expand Down
13 changes: 13 additions & 0 deletions arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -525,6 +525,19 @@ config X86_CPU_RESCTRL

Say N if unsure.

config X86_CPU_RESCTRL_INTEL_AET
bool "Intel Application Energy Telemetry"
depends on X86_64 && X86_CPU_RESCTRL && CPU_SUP_INTEL && INTEL_PMT_TELEMETRY=y && INTEL_TPMI=y
help
Enable per-RMID telemetry events in resctrl.

Intel feature that collects per-RMID execution data
about energy consumption, measure of frequency independent
activity and other performance metrics. Data is aggregated
per package.

Say N if unsure.

config X86_FRED
bool "Flexible Return and Event Delivery"
depends on X86_64
Expand Down
9 changes: 0 additions & 9 deletions arch/x86/include/asm/resctrl.h
Original file line number Diff line number Diff line change
Expand Up @@ -198,15 +198,6 @@ static inline bool resctrl_arch_mon_can_overflow(void)

void resctrl_cpu_detect(struct cpuinfo_x86 *c);

static inline bool resctrl_arch_get_mb_uses_numa_nid(void)
{
return false;
}

static inline int resctrl_arch_set_mb_uses_numa_nid(bool enabled)
{
return -EOPNOTSUPP;
}
#else

static inline void resctrl_arch_sched_in(struct task_struct *tsk) {}
Expand Down
1 change: 1 addition & 0 deletions arch/x86/kernel/cpu/resctrl/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_X86_CPU_RESCTRL) += core.o rdtgroup.o monitor.o
obj-$(CONFIG_X86_CPU_RESCTRL) += ctrlmondata.o
obj-$(CONFIG_X86_CPU_RESCTRL_INTEL_AET) += intel_aet.o
obj-$(CONFIG_RESCTRL_FS_PSEUDO_LOCK) += pseudo_lock.o

# To allow define_trace.h's recursive include:
Expand Down
Loading