On Sat, Oct 14, 2017 at 04:36:51AM -0700, tip-bot for Ingo Molnar wrote: > Commit-ID: b483cf3bc249d7af706390efa63d6671e80d1c09 > Gitweb: https://git.kernel.org/tip/b483cf3bc249d7af706390efa63d6671e80d1c09 > Author: Ingo Molnar <mingo@xxxxxxxxxx> > AuthorDate: Sat, 14 Oct 2017 09:26:59 +0200 > Committer: Ingo Molnar <mingo@xxxxxxxxxx> > CommitDate: Sat, 14 Oct 2017 12:50:26 +0200 > > locking/lockdep: Disable cross-release features for now > > Johan Hovold reported a big lockdep slowdown on his system, caused by lockdep: > > > 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") > > Because the final v4.14 release is close, disable the cross-release lockdep > features for now. > > Bisected-by: Johan Hovold <johan@xxxxxxxxxx> > Debugged-by: Johan Hovold <johan@xxxxxxxxxx> > Reported-by: Johan Hovold <johan@xxxxxxxxxx> > Cc: Arnd Bergmann <arnd@xxxxxxxx> > Cc: Byungchul Park <byungchul.park@xxxxxxx> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Tony Lindgren <tony@xxxxxxxxxxx> > Cc: kernel-team@xxxxxxx > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Cc: linux-mm@xxxxxxxxx > Cc: linux-omap@xxxxxxxxxxxxxxx > Link: http://lkml.kernel.org/r/20171014072659.f2yr6mhm5ha3eou7@xxxxxxxxx > Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> > --- > lib/Kconfig.debug | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > index 2689b7c..e270584 100644 > --- a/lib/Kconfig.debug > +++ b/lib/Kconfig.debug > @@ -1092,8 +1092,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 if BROKEN > + select LOCKDEP_COMPLETIONS if BROKEN I agree with disabling crossrelease as default, becasue of regression, as I originally did. However, it's expected to spend more time once it's enabled. Is the following acceptable? ----->8----- >From d796b36bbed5783a22879d745e4d332bb02697a5 Mon Sep 17 00:00:00 2001 From: Byungchul Park <byungchul.park@xxxxxxx> Date: Mon, 16 Oct 2017 10:54:20 +0900 Subject: [PATCH] lockdep: Diable LOCKDEP_CROSSRELEASE as default Lockdep slowdeon has been reported becasue of LOCKDEP_CROSSRELEASE. The feature needs more time to work, but it's not desirable as default. So disable the Kconfig as default. Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx> --- lib/Kconfig.debug | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 3db9167..fa45f78 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -1138,8 +1138,6 @@ config PROVE_LOCKING select DEBUG_MUTEXES select DEBUG_RT_MUTEXES if RT_MUTEXES select DEBUG_LOCK_ALLOC - select LOCKDEP_CROSSRELEASE if BROKEN - select LOCKDEP_COMPLETIONS if BROKEN select TRACE_IRQFLAGS default n help @@ -1210,7 +1208,9 @@ config LOCK_STAT (CONFIG_LOCKDEP defines "acquire" and "release" events.) config LOCKDEP_CROSSRELEASE - bool + bool "Lock debugging: enable cross-locking checks in lockdep" + 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. @@ -1220,7 +1220,9 @@ config LOCKDEP_CROSSRELEASE detector, lockdep. config LOCKDEP_COMPLETIONS - bool + bool "Lock debugging: allow completions to use deadlock detector" + depends on LOCKDEP_CROSSRELEASE + default n help A deadlock caused by wait_for_completion() and complete() can be detected by lockdep using crossrelease feature. -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |