Skip to content

mainline kernels have debug flag set

I've noticed that mainline kernel builds have debug flags set.

For example CONFIG_LOCKDEP=y

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_PROVE_LOCKING=y
# CONFIG_PROVE_RAW_LOCK_NESTING is not set
# CONFIG_LOCK_STAT is not set
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_RWSEMS=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_LOCKDEP=y
CONFIG_LOCKDEP_BITS=16
CONFIG_LOCKDEP_CHAINS_BITS=17
CONFIG_LOCKDEP_STACK_TRACE_BITS=19
CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14
CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_LOCK_TORTURE_TEST=m
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

Build example:

https://datawarehouse.internal.cki-project.org/kcidb/builds/55993

https://datawarehouse.internal.cki-project.org/kcidb/builds/56591

On kernel-ark!1271 (merged) it says:

CONFIG_LOCKDEP_BITS isn't used in generic kernel. It is only used in debug kernel when CONFIG_LOCKDEP is turned on by the enabling of CONFIG_PROVE_LOCKING.

There could be other flags set that are usually enabled with debug flag set, but I don't know...

Edited by Bruno Goncalves
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information