linux/arch
Babu Moger 12e3db99bc x86/resctrl: Refactor resctrl_arch_rmid_read()
[ Upstream commit 7c9ac605e2 ]

resctrl_arch_rmid_read() adjusts the value obtained from MSR_IA32_QM_CTR to
account for the overflow for MBM events and apply counter scaling for all the
events. This logic is common to both reading an RMID and reading a hardware
counter directly.

Refactor the hardware value adjustment logic into get_corrected_val() to
prepare for support of reading a hardware counter.

Signed-off-by: Babu Moger <babu.moger@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Link: https://lore.kernel.org/cover.1757108044.git.babu.moger@amd.com
Stable-dep-of: 15292f1b4c ("x86/resctrl: Fix miscount of bandwidth event when reactivating previously unavailable RMID")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-10-23 16:20:43 +02:00
..
alpha alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support 2025-03-22 12:54:15 -07:00
arc ARC: build: Try to guess GCC variant of cross compiler 2025-01-09 13:33:47 +01:00
arm ARM: OMAP2+: pm33xx-core: ix device node reference leaks in amx3_idle_init 2025-10-19 16:33:45 +02:00
arm64 arm64: mte: Do not flag the zero page as PG_mte_tagged 2025-10-19 16:34:02 +02:00
csky of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify 2024-12-05 14:01:32 +01:00
hexagon hexagon: Fix unbalanced spinlock in die() 2025-02-08 09:58:11 +01:00
loongarch LoongArch: Init acpi_gbl_use_global_lock to false 2025-10-19 16:33:39 +02:00
m68k m68k: Fix lost column on framebuffer debug console 2025-08-28 16:30:54 +02:00
microblaze of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify 2024-12-05 14:01:32 +01:00
mips mips: lantiq: xway: sysctrl: rename the etop node 2025-09-04 15:31:43 +02:00
nios2 of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify 2024-12-05 14:01:32 +01:00
openrisc of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify 2024-12-05 14:01:32 +01:00
parisc parisc: Remove spurious if statement from raw_copy_from_user() 2025-10-19 16:33:52 +02:00
powerpc powerpc/pseries/msi: Fix potential underflow and leak issue 2025-10-19 16:33:52 +02:00
riscv riscv: kprobes: Fix probe address validation 2025-10-23 16:20:32 +02:00
s390 s390/bpf: Write back tail call counter for BPF_TRAMP_F_CALL_ORIG 2025-10-19 16:34:05 +02:00
sh sh: Do not use hyphen in exported variable name 2025-08-15 12:13:56 +02:00
sparc sparc: fix error handling in scan_one_device() 2025-10-19 16:33:53 +02:00
um um: Fix FD copy size in os_rcv_fd_msg() 2025-09-25 11:13:42 +02:00
x86 x86/resctrl: Refactor resctrl_arch_rmid_read() 2025-10-23 16:20:43 +02:00
xtensa xtensa: simdisk: add input size check in proc_write_simdisk 2025-10-19 16:33:53 +02:00
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
Kconfig rust: cfi: only 64-bit arm and x86 support CFI_CLANG 2025-10-23 16:20:18 +02:00