Re: [PATCH v2] lockdep: Make LOCKDEP_CROSSRELEASE configs all part of PROVE_LOCKING

From: Ingo Molnar
Date: Thu Aug 17 2017 - 04:17:22 EST



* Byungchul Park <byungchul.park@xxxxxxx> wrote:

> Crossrelease added LOCKDEP_CROSSRELEASE and LOCKDEP_COMPLETE configs. It
> makes little sense to enable them when PROVE_LOCKING is disabled.
>
> Make them non-interative option and all part of PROVE_LOCKING.
>
> Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx>
> ---
> lib/Kconfig.debug | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index ee9e534..84bb4c5 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -1084,6 +1084,8 @@ config PROVE_LOCKING
> select DEBUG_MUTEXES
> select DEBUG_RT_MUTEXES if RT_MUTEXES
> select DEBUG_LOCK_ALLOC
> + select LOCKDEP_CROSSRELEASE
> + select LOCKDEP_COMPLETE
> select TRACE_IRQFLAGS
> default n
> help
> @@ -1155,8 +1157,6 @@ config LOCK_STAT
>
> config LOCKDEP_CROSSRELEASE
> bool "Lock debugging: make lockdep work for crosslocks"
> - depends on PROVE_LOCKING
> - default n
> help
> This makes lockdep work for crosslock which is a lock allowed to
> be released in a different context from the acquisition context.
> @@ -1167,9 +1167,6 @@ config LOCKDEP_CROSSRELEASE
>
> config LOCKDEP_COMPLETE
> bool "Lock debugging: allow completions to use deadlock detector"
> - depends on PROVE_LOCKING
> - select LOCKDEP_CROSSRELEASE
> - default n

BTW., and I just noticed this, "LOCKDEP_COMPLETE" is a misnomer: it should be
"LOCKDEP_COMPLETIONS".

Think about it, 'complete' is an adjective, and the current name suggests 'lockdep
is complete' or so, so it's pretty confusing.

So let's do a (separate) renaming patch as well.

Also, while at it:

> bool "Lock debugging: make lockdep work for crosslocks"

Please word that more directly - lockdep doesn't have to be made to work with
crosslocks - it works with them, what the option does is that it enables crosslock
support. I.e.:

bool "Lock debugging: enable cross-locking checks in lockdep"

or so.

Thanks,

Ingo