]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
locking: Allow obtaining result of arch_mcs_spin_lock_contended
authorKumar Kartikeya Dwivedi <memxor@gmail.com>
Sun, 16 Mar 2025 04:05:19 +0000 (21:05 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 19 Mar 2025 15:03:04 +0000 (08:03 -0700)
To support upcoming changes that require inspecting the return value
once the conditional waiting loop in arch_mcs_spin_lock_contended
terminates, modify the macro to preserve the result of
smp_cond_load_acquire. This enables checking the return value as needed,
which will help disambiguate the MCS node’s locked state in future
patches.

Reviewed-by: Barret Rhoden <brho@google.com>
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Link: https://lore.kernel.org/r/20250316040541.108729-4-memxor@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/locking/mcs_spinlock.h

index 16160ca8907fbc6e9721916cc0a09a787264a890..5c92ba199b90bbd801a39e3a53ab64e2f124688a 100644 (file)
@@ -24,9 +24,7 @@
  * spinning, and smp_cond_load_acquire() provides that behavior.
  */
 #define arch_mcs_spin_lock_contended(l)                                        \
-do {                                                                   \
-       smp_cond_load_acquire(l, VAL);                                  \
-} while (0)
+       smp_cond_load_acquire(l, VAL)
 #endif
 
 #ifndef arch_mcs_spin_unlock_contended