linux-snapdragon/arch/x86
Thomas Gleixner 0a1b8623d1 drivers: base: cacheinfo: Get rid of DEFINE_SMP_CALL_CACHE_FUNCTION()
[ Upstream commit 4b92d4add5f6dcf21275185c997d6ecb800054cd ]

DEFINE_SMP_CALL_CACHE_FUNCTION() was usefel before the CPU hotplug rework
to ensure that the cache related functions are called on the upcoming CPU
because the notifier itself could run on any online CPU.

The hotplug state machine guarantees that the callbacks are invoked on the
upcoming CPU. So there is no need to have this SMP function call
obfuscation. That indirection was missed when the hotplug notifiers were
converted.

This also solves the problem of ARM64 init_cache_level() invoking ACPI
functions which take a semaphore in that context. That's invalid as SMP
function calls run with interrupts disabled. Running it just from the
callback in context of the CPU hotplug thread solves this.

Fixes: 8571890e15 ("arm64: Add support for ACPI based firmware tables")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Will Deacon <will@kernel.org>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/871r69ersb.ffs@tglx
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-26 14:10:19 +02:00
..
boot x86/efi: Restore Firmware IDT before calling ExitBootServices() 2021-08-21 17:57:04 +02:00
configs module: remove EXPORT_UNUSED_SYMBOL* 2021-02-08 12:28:07 +01:00
crypto crypto: x86/aes-ni - add missing error checks in XTS code 2021-09-15 10:02:07 +02:00
entry arch, mm: wire up memfd_secret system call where relevant 2021-07-08 11:48:21 -07:00
events perf/x86/intel/uncore: Fix IIO cleanup mapping procedure for SNR/ICX 2021-09-15 10:02:33 +02:00
hyperv Drivers: hv: Move Hyper-V extended capability check to arch neutral code 2021-06-05 10:22:34 +00:00
ia32 binfmt: remove in-tree usage of MAP_EXECUTABLE 2021-06-29 10:53:50 -07:00
include x86/uaccess: Fix 32-bit __get_user_asm_u64() when CC_HAS_ASM_GOTO_OUTPUT=y 2021-09-22 12:39:21 +02:00
kernel drivers: base: cacheinfo: Get rid of DEFINE_SMP_CALL_CACHE_FUNCTION() 2021-09-26 14:10:19 +02:00
kvm KVM: nVMX: Unconditionally clear nested.pi_pending on nested VM-Enter 2021-09-15 10:02:34 +02:00
lib - Differentiate the type of exception the #VC handler raises depending 2021-06-28 11:29:12 -07:00
math-emu x86/math-emu: Rename frstor() 2021-06-23 18:16:33 +02:00
mm x86/mm: Fix kern_addr_valid() to cope with existing but not present entries 2021-09-22 12:39:18 +02:00
net bpf: Introduce BPF nospec instruction for mitigating Spectre v4 2021-07-29 00:20:56 +02:00
pci pci-v5.14-changes 2021-07-08 12:06:20 -07:00
platform EFI changes: two driver API cleanups, and a log message tweak. 2021-06-28 11:34:16 -07:00
power - turn the stack canary into a normal __percpu variable on 32-bit which 2021-04-27 17:45:09 -07:00
purgatory kernel.h: split out panic and oops helpers 2021-07-01 11:06:04 -07:00
ras
realmode A single ELF format fix for a section flags mismatch bug that breaks 2021-06-28 11:35:55 -07:00
tools x86/tools: Fix objdump version check again 2021-08-12 17:17:25 +02:00
um um: fix stub location calculation 2021-09-26 14:10:15 +02:00
video
xen xen: fix usage of pmd_populate in mremap for pv guests 2021-09-22 12:39:15 +02:00
.gitignore
Kbuild
Kconfig arch: Kconfig: clean up obsolete use of HAVE_IDE 2021-07-30 08:19:09 -06:00
Kconfig.assembler
Kconfig.cpu
Kconfig.debug
Makefile Kbuild updates for v5.14 2021-07-10 11:01:38 -07:00
Makefile_32.cpu
Makefile.um um: allow not setting extra rpaths in the linux binary 2021-06-17 21:54:15 +02:00