Re: possible circular locking dependency detected [was: linux-next: Tree for Aug 22]

From: Byungchul Park
Date: Wed Aug 30 2017 - 01:43:45 EST


On Wed, Aug 30, 2017 at 02:20:37PM +0900, Sergey Senozhatsky wrote:
> Byungchul, a quick question.

Hello Sergey,

> have you measured the performance impact? somehow my linux-next is

Yeah, it might have performance impact inevitably.

> notably slower than earlier 4.13 linux-next. (e.g. scrolling in vim
> is irritatingly slow)

To Ingo,

I cannot decide if we have to roll back CONFIG_LOCKDEP_CROSSRELEASE
dependency on CONFIG_PROVE_LOCKING in Kconfig. With them enabled,
lockdep detection becomes strong but has performance impact. But,
it's anyway a debug option so IMHO we don't have to take case of the
performance impact. Please let me know your decision.

> `time dmesg' shows some difference, but probably that's not a good
> test.
>
> !LOCKDEP LOCKDEP LOCKDEP -CROSSRELEASE -COMPLETIONS
> real 0m0.661s 0m2.290s 0m1.920s
> user 0m0.010s 0m0.105s 0m0.000s
> sys 0m0.636s 0m2.224s 0m1.888s
>
> anyone else "sees"/"can confirm" the slow down?
>
>
> it gets back to "usual normal" when I disable CROSSRELEASE and COMPLETIONS.
>
> ---
>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index b19c491cbc4e..cdc30ef81c5e 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -1091,8 +1091,6 @@ config PROVE_LOCKING
> select DEBUG_MUTEXES
> select DEBUG_RT_MUTEXES if RT_MUTEXES
> select DEBUG_LOCK_ALLOC
> - select LOCKDEP_CROSSRELEASE
> - select LOCKDEP_COMPLETIONS
> select TRACE_IRQFLAGS
> default n
> help
>
> ---
>
> -ss