Messages in this thread Patch in this message | | | Date | Sat, 14 Oct 2017 09:26:59 +0200 | From | Ingo Molnar <> | Subject | Re: Dramatic lockdep slowdown in 4.14 |
| |
* Johan Hovold <johan@kernel.org> wrote:
> Hi, > > I had noticed that the BeagleBone Black boot time appeared to have > increased significantly with 4.14 and yesterday I finally had time to > investigate it. > > Boot time (from "Linux version" to login prompt) had in fact doubled > since 4.13 where it took 17 seconds (with my current config) compared to > the 35 seconds I now see with 4.14-rc4. > > I quick bisect pointed to lockdep and specifically the following commit: > > 28a903f63ec0 ("locking/lockdep: Handle non(or multi)-acquisition > of a crosslock") > > which I've verified is the commit which doubled the boot time (compared > to 28a903f63ec0^) (added by lockdep crossrelease series [1]). > > I also verified that simply disabling CONFIG_PROVE_LOCKING on 4.14-rc4 > brought boot time down to about 14 seconds. > > Now since it's lockdep I guess this can't really be considered a > regression if these changes did improve lockdep correctness, but still, > this dramatic slow down essentially forces me to disable PROVE_LOCKING > by default on this system. > > Is this lockdep slowdown expected and desirable?
It's not desirable at all.
Does the patch below fix the regression for you - or does the introduction and handling of ->nr_acquire hurt as well?
Thanks,
Ingo
====================> lib/Kconfig.debug | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index c6401d325b0e..f5b40c1668ea 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -1138,8 +1138,8 @@ config PROVE_LOCKING select DEBUG_MUTEXES select DEBUG_RT_MUTEXES if RT_MUTEXES select DEBUG_LOCK_ALLOC - select LOCKDEP_CROSSRELEASE - select LOCKDEP_COMPLETIONS +# select LOCKDEP_CROSSRELEASE +# select LOCKDEP_COMPLETIONS select TRACE_IRQFLAGS default n help
| |