Commit c5219860 authored by Paul E. McKenney's avatar Paul E. McKenney Committed by Peter Zijlstra

locking/csd_lock: Add Kconfig option for csd_debug default

The csd_debug kernel parameter works well, but is inconvenient in cases
where it is more closely associated with boot loaders or automation than
with a particular kernel version or release.  Thererfore, provide a new
CSD_LOCK_WAIT_DEBUG_DEFAULT Kconfig option that defaults csd_debug to
1 when selected and 0 otherwise, with this latter being the default.
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: default avatarJuergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/20230321005516.50558-1-paulmck@kernel.org
parent e8d018dd
...@@ -893,8 +893,10 @@ ...@@ -893,8 +893,10 @@
handling. When switched on, additional debug data is handling. When switched on, additional debug data is
printed to the console in case a hanging CPU is printed to the console in case a hanging CPU is
detected, and that CPU is pinged again in order to try detected, and that CPU is pinged again in order to try
to resolve the hang situation. to resolve the hang situation. The default value of
0: disable csdlock debugging (default) this option depends on the CSD_LOCK_WAIT_DEBUG_DEFAULT
Kconfig option.
0: disable csdlock debugging
1: enable basic csdlock debugging (minor impact) 1: enable basic csdlock debugging (minor impact)
ext: enable extended csdlock debugging (more impact, ext: enable extended csdlock debugging (more impact,
but more data) but more data)
......
...@@ -158,7 +158,7 @@ void __init call_function_init(void) ...@@ -158,7 +158,7 @@ void __init call_function_init(void)
#ifdef CONFIG_CSD_LOCK_WAIT_DEBUG #ifdef CONFIG_CSD_LOCK_WAIT_DEBUG
static DEFINE_STATIC_KEY_FALSE(csdlock_debug_enabled); static DEFINE_STATIC_KEY_MAYBE(CONFIG_CSD_LOCK_WAIT_DEBUG_DEFAULT, csdlock_debug_enabled);
static DEFINE_STATIC_KEY_FALSE(csdlock_debug_extended); static DEFINE_STATIC_KEY_FALSE(csdlock_debug_extended);
static int __init csdlock_debug(char *str) static int __init csdlock_debug(char *str)
......
...@@ -1480,6 +1480,15 @@ config CSD_LOCK_WAIT_DEBUG ...@@ -1480,6 +1480,15 @@ config CSD_LOCK_WAIT_DEBUG
include the IPI handler function currently executing (if any) include the IPI handler function currently executing (if any)
and relevant stack traces. and relevant stack traces.
config CSD_LOCK_WAIT_DEBUG_DEFAULT
bool "Default csd_lock_wait() debugging on at boot time"
depends on CSD_LOCK_WAIT_DEBUG
depends on 64BIT
default n
help
This option causes the csdlock_debug= kernel boot parameter to
default to 1 (basic debugging) instead of 0 (no debugging).
endmenu # lock debugging endmenu # lock debugging
config TRACE_IRQFLAGS config TRACE_IRQFLAGS
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment