From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965046AbdJQOmi (ORCPT ); Tue, 17 Oct 2017 10:42:38 -0400 Received: from mail-wr0-f196.google.com ([209.85.128.196]:50853 "EHLO mail-wr0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936051AbdJQOmf (ORCPT ); Tue, 17 Oct 2017 10:42:35 -0400 X-Google-Smtp-Source: ABhQp+SufZhjUUy9WwHLA2F2xvHnrW4swt4olTFO2Jpl+dX0puZWbjQJyo2KS968JjeF/gajkH7DrA== Date: Tue, 17 Oct 2017 16:42:30 +0200 From: Ingo Molnar To: Thomas Gleixner Cc: Byungchul Park , johan@kernel.org, arnd@arndb.de, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, peterz@infradead.org, hpa@zytor.com, tony@atomide.com, linux-tip-commits@vger.kernel.org, kernel-team@lge.com Subject: Re: [tip:locking/urgent] locking/lockdep: Disable cross-release features for now Message-ID: <20171017144230.dwrrxnpseo7tv6rp@gmail.com> References: <20171014072659.f2yr6mhm5ha3eou7@gmail.com> <20171016020447.GP3323@X58A-UD3R> <20171017071202.6x22ho2o5yz74dak@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Thomas Gleixner wrote: > On Tue, 17 Oct 2017, Ingo Molnar wrote: > > * Byungchul Park wrote: > > > > 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? > > > > No, please fix performance. > > You know very well that with the cross release stuff we have to take the > performance hit of stack unwinding because we have no idea whether there > will show up a new lock relation later or not. And there is not much you > can do in that respect. > > OTOH, the cross release feature unearthed real deadlocks already so it is a > valuable debug feature and having an explicit config switch which defaults > to N is well worth it. I disagree, because even if that's correct, the choices are not binary. The performance regression was a slowdown of around 7x: lockdep boot overhead on that particula system went from +3 seconds to +21 seconds... As a response to the performance regression I haven't seen _any_ attempt to measure, profile and generally quantify the performance impact, which would at least make it more believable that the overhead cannot be reduced. That really makes me worry about the code on a higher level than just whether it can be enabled by default or not. Caring about the performance of debug features very much matters, _especially_ when they are expensive. Thanks, Ingo