All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Byungchul Park <byungchul.park@lge.com>,
	peterz@infradead.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, kernel-team@lge.com
Subject: Re: [PATCH 1/2] lockdep: Introduce CROSSRELEASE_STACK_TRACE and make it not unwind as default
Date: Wed, 18 Oct 2017 15:30:19 +0200	[thread overview]
Message-ID: <20171018133019.cwfhnt46pvhirt57@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1710181519580.1925@nanos>


* Thomas Gleixner <tglx@linutronix.de> wrote:

> On Wed, 18 Oct 2017, Byungchul Park wrote:
> >  #ifdef CONFIG_LOCKDEP_CROSSRELEASE
> > +#ifdef CONFIG_CROSSRELEASE_STACK_TRACE
> >  #define MAX_XHLOCK_TRACE_ENTRIES 5
> > +#else
> > +#define MAX_XHLOCK_TRACE_ENTRIES 1
> > +#endif
> >  
> >  /*
> >   * This is for keeping locks waiting for commit so that true dependencies
> > diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> > index e36e652..5c2ddf2 100644
> > --- a/kernel/locking/lockdep.c
> > +++ b/kernel/locking/lockdep.c
> > @@ -4863,8 +4863,13 @@ static void add_xhlock(struct held_lock *hlock)
> >  	xhlock->trace.nr_entries = 0;
> >  	xhlock->trace.max_entries = MAX_XHLOCK_TRACE_ENTRIES;
> >  	xhlock->trace.entries = xhlock->trace_entries;
> > +#ifdef CONFIG_CROSSRELEASE_STACK_TRACE
> >  	xhlock->trace.skip = 3;
> >  	save_stack_trace(&xhlock->trace);
> > +#else
> > +	xhlock->trace.nr_entries = 1;
> > +	xhlock->trace.entries[0] = hlock->acquire_ip;
> > +#endif
> 
> Hmm. Would it be possible to have this switchable at boot time via a
> command line parameter? So in case of a splat with no stack trace, one
> could just reboot and set something like 'lockdep_fullstack' on the kernel
> command line to get the full data without having to recompile the kernel.

Yeah, and I'd suggest keeping the Kconfig option to default-enable that boot 
option as well - i.e. let's have both.

Thanks,

	Ingo

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Byungchul Park <byungchul.park@lge.com>,
	peterz@infradead.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, kernel-team@lge.com
Subject: Re: [PATCH 1/2] lockdep: Introduce CROSSRELEASE_STACK_TRACE and make it not unwind as default
Date: Wed, 18 Oct 2017 15:30:19 +0200	[thread overview]
Message-ID: <20171018133019.cwfhnt46pvhirt57@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1710181519580.1925@nanos>


* Thomas Gleixner <tglx@linutronix.de> wrote:

> On Wed, 18 Oct 2017, Byungchul Park wrote:
> >  #ifdef CONFIG_LOCKDEP_CROSSRELEASE
> > +#ifdef CONFIG_CROSSRELEASE_STACK_TRACE
> >  #define MAX_XHLOCK_TRACE_ENTRIES 5
> > +#else
> > +#define MAX_XHLOCK_TRACE_ENTRIES 1
> > +#endif
> >  
> >  /*
> >   * This is for keeping locks waiting for commit so that true dependencies
> > diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> > index e36e652..5c2ddf2 100644
> > --- a/kernel/locking/lockdep.c
> > +++ b/kernel/locking/lockdep.c
> > @@ -4863,8 +4863,13 @@ static void add_xhlock(struct held_lock *hlock)
> >  	xhlock->trace.nr_entries = 0;
> >  	xhlock->trace.max_entries = MAX_XHLOCK_TRACE_ENTRIES;
> >  	xhlock->trace.entries = xhlock->trace_entries;
> > +#ifdef CONFIG_CROSSRELEASE_STACK_TRACE
> >  	xhlock->trace.skip = 3;
> >  	save_stack_trace(&xhlock->trace);
> > +#else
> > +	xhlock->trace.nr_entries = 1;
> > +	xhlock->trace.entries[0] = hlock->acquire_ip;
> > +#endif
> 
> Hmm. Would it be possible to have this switchable at boot time via a
> command line parameter? So in case of a splat with no stack trace, one
> could just reboot and set something like 'lockdep_fullstack' on the kernel
> command line to get the full data without having to recompile the kernel.

Yeah, and I'd suggest keeping the Kconfig option to default-enable that boot 
option as well - i.e. let's have both.

Thanks,

	Ingo

  reply	other threads:[~2017-10-18 13:30 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-18  9:13 [PATCH 1/2] lockdep: Introduce CROSSRELEASE_STACK_TRACE and make it not unwind as default Byungchul Park
2017-10-18  9:13 ` Byungchul Park
2017-10-18  9:13 ` [PATCH 2/2] lockdep: Remove BROKEN flag of LOCKDEP_CROSSRELEASE Byungchul Park
2017-10-18  9:13   ` Byungchul Park
2017-10-18 10:12   ` Ingo Molnar
2017-10-18 10:12     ` Ingo Molnar
2017-10-19  1:58     ` Byungchul Park
2017-10-19  1:58       ` Byungchul Park
2017-10-18 10:09 ` [PATCH 1/2] lockdep: Introduce CROSSRELEASE_STACK_TRACE and make it not unwind as default Ingo Molnar
2017-10-18 10:09   ` Ingo Molnar
2017-10-19  4:32   ` Byungchul Park
2017-10-19  4:32     ` Byungchul Park
2017-10-19  5:57     ` Ingo Molnar
2017-10-19  5:57       ` Ingo Molnar
2017-10-19  6:11       ` Byungchul Park
2017-10-19  6:11         ` Byungchul Park
2017-10-19  6:22         ` Ingo Molnar
2017-10-19  6:22           ` Ingo Molnar
2017-10-19  6:36           ` Byungchul Park
2017-10-19  6:36             ` Byungchul Park
2017-10-19  8:05             ` Ingo Molnar
2017-10-19  8:05               ` Ingo Molnar
2017-10-19  6:22         ` Byungchul Park
2017-10-19  6:22           ` Byungchul Park
2017-10-19  8:10           ` Ingo Molnar
2017-10-19  8:10             ` Ingo Molnar
2017-10-19  9:02             ` 박병철/선임연구원/SW Platform(연)AOT팀(byungchul.park@lge.com)
2017-10-19  9:02               ` 박병철/선임연구원/SW Platform(연)AOT팀(byungchul.park@lge.com)
2017-10-19  9:41               ` Ingo Molnar
2017-10-19  9:41                 ` Ingo Molnar
2017-10-18 13:23 ` Thomas Gleixner
2017-10-18 13:23   ` Thomas Gleixner
2017-10-18 13:30   ` Ingo Molnar [this message]
2017-10-18 13:30     ` Ingo Molnar
2017-10-18 13:36     ` Thomas Gleixner
2017-10-18 13:36       ` Thomas Gleixner
2017-10-18 14:15       ` Matthew Wilcox
2017-10-18 14:15         ` Matthew Wilcox
2017-10-18 14:35         ` Thomas Gleixner
2017-10-18 14:35           ` Thomas Gleixner
2017-10-18 17:05           ` Ingo Molnar
2017-10-18 17:05             ` Ingo Molnar
2017-10-19  2:00       ` Byungchul Park
2017-10-19  2:00         ` Byungchul Park

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171018133019.cwfhnt46pvhirt57@gmail.com \
    --to=mingo@kernel.org \
    --cc=byungchul.park@lge.com \
    --cc=kernel-team@lge.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.