linux/arch
Sandipan Das 0eb93e0446 perf/x86/amd/core: Avoid register reset when CPU is dead
[ Upstream commit ad8c91282c ]

When bringing a CPU online, some of the PMC and LBR related registers
are reset. The same is done when a CPU is taken offline although that
is unnecessary. This currently happens in the "cpu_dead" callback which
is also incorrect as the callback runs on a control CPU instead of the
one that is being taken offline. This also affects hibernation and
suspend to RAM on some platforms as reported in the link below.

Fixes: 21d59e3e2c ("perf/x86/amd/core: Detect PerfMonV2 support")
Reported-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Sandipan Das <sandipan.das@amd.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/550a026764342cf7e5812680e3e2b91fe662b5ac.1706526029.git.sandipan.das@amd.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-26 18:18:49 -04:00
..
alpha arch: fix asm-offsets.c building with -Wmissing-prototypes 2024-02-05 20:16:47 +00:00
arc work around gcc bugs with 'asm goto' with outputs 2024-02-23 09:51:20 +01:00
arm crypto: arm/sha - fix function cast warnings 2024-03-26 18:18:38 -04:00
arm64 arm64: ftrace: Don't forbid CALL_OPS+CC_OPTIMIZE_FOR_SIZE with Clang 2024-03-26 18:18:40 -04:00
csky work around gcc bugs with 'asm goto' with outputs 2024-02-23 09:51:20 +01:00
hexagon TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
loongarch LoongArch: Update cpu_sibling_map when disabling nonboot CPUs 2024-03-01 13:41:45 +01:00
m68k mm: Introduce flush_cache_vmap_early() 2024-02-16 19:14:25 +01:00
microblaze asm-generic updates for v6.7 2023-11-01 15:28:33 -10:00
mips MIPS: Clear Cause.BD in instruction_pointer_set 2024-03-26 18:17:50 -04:00
nios2 mm: Introduce flush_cache_vmap_early() 2024-02-16 19:14:25 +01:00
openrisc OpenRISC updates for 6.6 2023-09-05 10:09:31 -07:00
parisc parisc/ftrace: add missing CONFIG_DYNAMIC_FTRACE check 2024-03-26 18:17:52 -04:00
powerpc powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc. 2024-03-26 18:18:42 -04:00
riscv riscv: dts: sifive: add missing #interrupt-cells to pmic 2024-03-26 18:17:52 -04:00
s390 s390/cache: prevent rebuild of shared_cpu_list 2024-03-26 18:18:24 -04:00
sh mm: Introduce flush_cache_vmap_early() 2024-02-16 19:14:25 +01:00
sparc sparc32: Fix section mismatch in leon_pci_grpci 2024-03-26 18:18:43 -04:00
um um: Fix adding '-no-pie' for clang 2024-02-23 09:51:39 +01:00
x86 perf/x86/amd/core: Avoid register reset when CPU is dead 2024-03-26 18:18:49 -04:00
xtensa work around gcc bugs with 'asm goto' with outputs 2024-02-23 09:51:20 +01:00
.gitignore
Kconfig scs: add CONFIG_MMU dependency for vfree_atomic() 2024-02-23 09:51:28 +01:00