Messages in this thread Patch in this message | | | From | John Ogness <> | Subject | Re: [PATCH printk v2 33/38] printk: introduce console_list_lock | Date | Mon, 07 Nov 2022 11:16:56 +0106 |
| |
On 2022-10-27, "Paul E. McKenney" <paulmck@kernel.org> wrote: > One way to save a line is as follows: > > WARN_ON_ONCE(IS_ENABLED(CONFIG_DEBUG_LOCK_ALLOC) && > debug_lockdep_rcu_enabled() && > srcu_read_lock_held(&console_srcu));
Unfortunately this suggestion does not work because debug_lockdep_rcu_enabled() only exists if CONFIG_DEBUG_LOCK_ALLOC is enabled. Would you be interested in having an empty implementation? Then my check would not need to be concerned about CONFIG_DEBUG_LOCK_ALLOC at all. It would become:
WARN_ON_ONCE(debug_lockdep_rcu_enabled() && srcu_read_lock_held(&console_srcu));
The patch below could be used to achieve that.
John
--------8<------------- From 71d9e484d5128cd1e57e5bff5391d91789f444fa Mon Sep 17 00:00:00 2001 From: John Ogness <john.ogness@linutronix.de> Date: Mon, 7 Nov 2022 11:06:40 +0106 Subject: [PATCH] rcu: implement lockdep_rcu_enabled for !CONFIG_DEBUG_LOCK_ALLOC
Provide an implementation for debug_lockdep_rcu_enabled() when CONFIG_DEBUG_LOCK_ALLOC is not enabled. This allows code to check if rcu lockdep debugging is available without needing an extra check if CONFIG_DEBUG_LOCK_ALLOC is enabled.
Signed-off-by: John Ogness <john.ogness@linutronix.de> --- include/linux/rcupdate.h | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 08605ce7379d..65178c40ab6f 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -340,6 +340,11 @@ static inline int rcu_read_lock_any_held(void) return !preemptible(); } +static inline int debug_lockdep_rcu_enabled(void) +{ + return 0; +} + #endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */ #ifdef CONFIG_PROVE_RCU -- 2.30.2
| |