]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
compiler-context-analysis: Remove __cond_lock() function-like helper
authorMarco Elver <elver@google.com>
Fri, 19 Dec 2025 15:40:13 +0000 (16:40 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Mon, 5 Jan 2026 15:43:33 +0000 (16:43 +0100)
commite4588c25c9d122b5847b88e18b184404b6959160
tree00ddee9629bf524daf0bca778c0f9d1be4080dfe
parent5b63d0ae94ccfd64dcbdb693d88eb3650eb3c64c
compiler-context-analysis: Remove __cond_lock() function-like helper

As discussed in [1], removing __cond_lock() will improve the readability
of trylock code. Now that Sparse context tracking support has been
removed, we can also remove __cond_lock().

Change existing APIs to either drop __cond_lock() completely, or make
use of the __cond_acquires() function attribute instead.

In particular, spinlock and rwlock implementations required switching
over to inline helpers rather than statement-expressions for their
trylock_* variants.

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Marco Elver <elver@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/all/20250207082832.GU7145@noisy.programming.kicks-ass.net/
Link: https://patch.msgid.link/20251219154418.3592607-25-elver@google.com
24 files changed:
Documentation/dev-tools/context-analysis.rst
Documentation/mm/process_addrs.rst
drivers/net/wireless/intel/iwlwifi/iwl-trans.c
drivers/net/wireless/intel/iwlwifi/iwl-trans.h
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/internal.h
drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c
include/linux/compiler-context-analysis.h
include/linux/lockref.h
include/linux/mm.h
include/linux/rwlock.h
include/linux/rwlock_api_smp.h
include/linux/rwlock_rt.h
include/linux/sched/signal.h
include/linux/spinlock.h
include/linux/spinlock_api_smp.h
include/linux/spinlock_api_up.h
include/linux/spinlock_rt.h
kernel/signal.c
kernel/time/posix-timers.c
lib/dec_and_lock.c
lib/lockref.c
mm/memory.c
mm/pgtable-generic.c
tools/include/linux/compiler_types.h