linux/arch
Tony Luck e3ca96e479 x86/resctrl: Pass domain to target CPU
reset_all_ctrls() and resctrl_arch_update_domains() use on_each_cpu_mask()
to call rdt_ctrl_update() on potentially one CPU from each domain.

But this means rdt_ctrl_update() needs to figure out which domain to
apply changes to. Doing so requires a search of all domains in a resource,
which can only be done safely if cpus_lock is held. Both callers do hold
this lock, but there isn't a way for a function called on another CPU
via IPI to verify this.

Commit

  c0d848fcb0 ("x86/resctrl: Remove lockdep annotation that triggers
  false positive")

removed the incorrect assertions.

Add the target domain to the msr_param structure and call
rdt_ctrl_update() for each domain separately using
smp_call_function_single(). This means that rdt_ctrl_update() doesn't
need to search for the domain and get_domain_from_cpu() can safely
assert that the cpus_lock is held since the remaining callers do not use
IPI.

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Reviewed-by: James Morse <james.morse@arm.com>
Reviewed-by: Babu Moger <babu.moger@amd.com>
Tested-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Link: https://lore.kernel.org/r/20240308213846.77075-2-tony.luck@intel.com
2024-04-24 13:41:41 +02:00
..
alpha Kbuild updates for v6.9 2024-03-21 14:41:00 -07:00
arc - Sumanth Korikkar has taught s390 to allocate hotplug-time page frames 2024-03-14 17:43:30 -07:00
arm i.MX fixes for 6.9: 2024-04-09 16:21:01 +02:00
arm64 arm64 fixes: 2024-04-19 13:04:21 -07:00
csky - Sumanth Korikkar has taught s390 to allocate hotplug-time page frames 2024-03-14 17:43:30 -07:00
hexagon hexagon: vmlinux.lds.S: handle attributes section 2024-03-26 11:07:23 -07:00
loongarch LoongArch: Include linux/sizes.h in addrspace.h to prevent build errors 2024-04-10 21:08:51 +08:00
m68k TTY/Serial driver update for 6.9-rc1 2024-03-21 12:44:10 -07:00
microblaze arch: define CONFIG_PAGE_SIZE_*KB on all architectures 2024-03-06 19:29:09 +01:00
mips Fix for syscall_get_nr() to make it work even if tracing is disabled 2024-04-12 08:46:58 -07:00
nios2 nios2: Only use built-in devicetree blob if configured to do so 2024-04-03 14:35:53 -05:00
openrisc OpenRISC updates for 6.9 2024-03-14 15:53:10 -07:00
parisc prctl: generalize PR_SET_MDWE support check to be per-arch 2024-03-26 11:07:22 -07:00
powerpc powerpc fixes for 6.9 #3 2024-04-20 11:06:42 -07:00
riscv RISC-V Fixes for 6.9-rc3 2024-04-05 13:09:48 -07:00
s390 s390/mm: Fix NULL pointer dereference 2024-04-17 17:26:34 +02:00
sh sh updates for v6.9 2024-03-21 10:13:47 -07:00
sparc This includes the following changes related to sparc for v6.9: 2024-03-15 12:47:21 -07:00
um Devicetree updates for v6.9: 2024-03-15 12:37:59 -07:00
x86 x86/resctrl: Pass domain to target CPU 2024-04-24 13:41:41 +02:00
xtensa - Sumanth Korikkar has taught s390 to allocate hotplug-time page frames 2024-03-14 17:43:30 -07:00
.gitignore
Kconfig Kconfig: add some hidden tabs on purpose 2024-04-12 10:05:10 -07:00