summaryrefslogtreecommitdiffstats
path: root/lib/Kconfig.debug
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Kconfig.debug')
-rw-r--r--lib/Kconfig.debug18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 2a9a8759752b..7396f5044397 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1091,6 +1091,8 @@ config PROVE_LOCKING
1091 select DEBUG_MUTEXES 1091 select DEBUG_MUTEXES
1092 select DEBUG_RT_MUTEXES if RT_MUTEXES 1092 select DEBUG_RT_MUTEXES if RT_MUTEXES
1093 select DEBUG_LOCK_ALLOC 1093 select DEBUG_LOCK_ALLOC
1094 select LOCKDEP_CROSSRELEASE
1095 select LOCKDEP_COMPLETIONS
1094 select TRACE_IRQFLAGS 1096 select TRACE_IRQFLAGS
1095 default n 1097 default n
1096 help 1098 help
@@ -1160,6 +1162,22 @@ config LOCK_STAT
1160 CONFIG_LOCK_STAT defines "contended" and "acquired" lock events. 1162 CONFIG_LOCK_STAT defines "contended" and "acquired" lock events.
1161 (CONFIG_LOCKDEP defines "acquire" and "release" events.) 1163 (CONFIG_LOCKDEP defines "acquire" and "release" events.)
1162 1164
1165config LOCKDEP_CROSSRELEASE
1166 bool
1167 help
1168 This makes lockdep work for crosslock which is a lock allowed to
1169 be released in a different context from the acquisition context.
1170 Normally a lock must be released in the context acquiring the lock.
1171 However, relexing this constraint helps synchronization primitives
1172 such as page locks or completions can use the lock correctness
1173 detector, lockdep.
1174
1175config LOCKDEP_COMPLETIONS
1176 bool
1177 help
1178 A deadlock caused by wait_for_completion() and complete() can be
1179 detected by lockdep using crossrelease feature.
1180
1163config DEBUG_LOCKDEP 1181config DEBUG_LOCKDEP
1164 bool "Lock dependency engine debugging" 1182 bool "Lock dependency engine debugging"
1165 depends on DEBUG_KERNEL && LOCKDEP 1183 depends on DEBUG_KERNEL && LOCKDEP