OpenCloudOS-Kernel/arch/arm64
Mateusz Guzik c8afaa1b0f locking: remove spin_lock_prefetch
The only remaining consumer is new_inode, where it showed up in 2001 as
commit c37fa164f793 ("v2.4.9.9 -> v2.4.9.10") in a historical repo [1]
with a changelog which does not mention it.

Since then the line got only touched up to keep compiling.

While it may have been of benefit back in the day, it is guaranteed to
at best not get in the way in the multicore setting -- as the code
performs *a lot* of work between the prefetch and actual lock acquire,
any contention means the cacheline is already invalid by the time the
routine calls spin_lock().  It adds spurious traffic, for short.

On top of it prefetch is notoriously tricky to use for single-threaded
purposes, making it questionable from the get go.

As such, remove it.

I admit upfront I did not see value in benchmarking this change, but I
can do it if that is deemed appropriate.

Removal from new_inode and of the entire thing are in the same patch as
requested by Linus, so whatever weird looks can be directed at that guy.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/commit/fs/inode.c?id=c37fa164f793735b32aa3f53154ff1a7659e6442 [1]
Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2023-08-12 09:18:47 -07:00
..
boot SoCFPGA dts fix for v6.5 2023-07-27 15:44:03 +02:00
configs arch/*/configs/*defconfig: Replace AUTOFS4_FS by AUTOFS_FS 2023-07-29 14:08:22 -07:00
crypto crypto: arm64/sha256-glue - Include module.h 2023-05-19 20:56:59 +08:00
hyperv arm64/hyperv: Use CPUHP_AP_HYPERV_ONLINE state to fix CPU online sequencing 2023-06-17 23:09:47 +00:00
include locking: remove spin_lock_prefetch 2023-08-12 09:18:47 -07:00
kernel More SVE/SME fixes for ptrace() and for the (potentially future) case 2023-08-04 12:11:40 -07:00
kvm KVM: arm64: Skip instruction after emulating write to TCR_EL1 2023-07-28 17:11:23 +00:00
lib arm64: xor-neon: mark xor_arm64_neon_*() static 2023-05-25 17:44:01 +01:00
mm arm64: mm: Make hibernation aware of KFENCE 2023-07-20 11:44:50 +01:00
net bpf, arm64: Fix BTI type used for freplace attached functions 2023-07-18 15:28:19 -07:00
tools arm64: Fix HFGxTR_EL2 field naming 2023-07-13 10:15:38 +01:00
xen
Kbuild
Kconfig arm64: ftrace: Add direct call trampoline samples support 2023-07-10 17:51:54 -04:00
Kconfig.debug
Kconfig.platforms STM32 STM32MP25 for v6.5, round 1 2023-06-20 22:28:44 +02:00
Makefile arm64 updates for 6.3: 2023-02-21 15:27:48 -08:00