Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1237094

Re: [PATCH] watchdog: perform all-CPU backtrace in case of hard lockup

From Jiri Kosina <jikos@kernel.org>
Newsgroups linux.kernel
Subject Re: [PATCH] watchdog: perform all-CPU backtrace in case of hard lockup
Date 2015-10-01 09:50 +0200
Message-ID <qeGMP-5IY-33@gated-at.bofh.it> (permalink)
References <qczcK-88V-21@gated-at.bofh.it> <qeGD7-5vh-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, 1 Oct 2015, Aaron Tomlin wrote:

> > +		/*
> > +		 * Perform all-CPU dump only once to avoid multiple hardlockups
> > +		 * generating interleaving traces
> > +		 */
> > +		if (sysctl_hardlockup_all_cpu_backtrace &&
> > +				!test_and_set_bit(0, &hardlockup_allcpu_dumped))
> > +			trigger_allbutself_cpu_backtrace();
> 
> How does this play when 'softlockup_all_cpu_backtrace' is enabled too?

That should be fine. Worst case scenario is hardlockup and softlockup 
trigerring 'in parallel' on different CPUs, and all-cpu backtrace being 
triggered twice.

Frankly, I've never seen this happen in practice (hardlockup and 
softlockup triggering at different CPUs at the very same time).

We could possibly make a global 'all_cpus_dump_in_progress' flag so that 
we guarantee only one stream of dumps, but we'd need to convert everybody 
using this facility (e.g. RCU stall detector, and whoever else) to be 
aware of it as well, otherwise it wouldn't make too much sense.

Something to add to TODO I guess.

> 
> > +
> > +		if (hardlockup_panic)
> > +			panic("Hard LOCKUP");
> >  
> >  		__this_cpu_write(hard_watchdog_warn, true);
> >  		return;
> 
> This does indeed appear similar to Linus commit ed235875
> ("kernel/watchdog.c: print traces for all cpus on lockup detection");
> albeit for the hardlockup detector.
> 
> Looks fine to me. Thanks!
> 
> Reviewed-by: Aaron Tomlin <atomlin@redhat.com>

Thanks,

-- 
Jiri Kosina
SUSE Labs

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] watchdog: perform all-CPU backtrace in case of hard lockup Jiri Kosina <jikos@kernel.org> - 2015-09-25 13:20 +0200
  Re: [PATCH] watchdog: perform all-CPU backtrace in case of hard  lockup Don Zickus <dzickus@redhat.com> - 2015-09-25 16:50 +0200
  Re: [PATCH] watchdog: perform all-CPU backtrace in case of hard  lockup Aaron Tomlin <atomlin@redhat.com> - 2015-10-01 09:40 +0200
    Re: [PATCH] watchdog: perform all-CPU backtrace in case of hard  lockup Jiri Kosina <jikos@kernel.org> - 2015-10-01 09:50 +0200
      Re: [PATCH] watchdog: perform all-CPU backtrace in case of hard  lockup Aaron Tomlin <atomlin@redhat.com> - 2015-10-01 13:10 +0200

csiph-web