linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: mingo@kernel.org, laijs@cn.fujitsu.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@efficios.com,
	josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org,
	rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com,
	dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com,
	bobby.prani@gmail.com
Subject: [PATCH tip/core/rcu 0/9] Stall-warning changes for 3.20
Date: Wed, 7 Jan 2015 09:52:25 -0800	[thread overview]
Message-ID: <20150107175225.GA4237@linux.vnet.ibm.com> (raw)

Hello!

This series contains stall-warning changes, mostly inspired by the
long-running "frequent lockups in 3.18rc4" LKML thread, which may
be found at https://lkml.org/lkml/2014/11/14/656.  Those who denigrate
testing clearly have not been up against trinity.  ;-)

1.	Set default to RCU_CPU_STALL_INFO=y.  This is in preparation for
	eliminating this Kconfig variable entirely in a release or two.

2.	Add rcutorture scripting checks for stall ending before dump start.

3.	Make RCU_CPU_STALL_INFO include number of attempts to force
	quiescent states (which mostly identifies idle CPUs).

4.	Improve diagnostics for spurious RCU CPU stall warnings, for
	example, identifying when RCU's grace-period kthreads have
	been prevented from running.

5.	Handle gpnum/completed wrap while dyntick idle.  This is a
	long-standing known bug, but one that requires a CPU to remain
	idle for 4,294,967,296 grace periods on 32-bit systems, and
	lots more on 64-bit systems.  However, with the advent of
	NO_HZ_FULL, this sort of thing becomes more likely, so time
	to fix it.

6.	Run grace-period kthreads at real-time priority.  Not yet ready
	for mainline, but the 0day test robot reports that it greatly
	reduces the number of hangs seen in testing, so something sort
	of like it is needed.  This patch also reduced the number of
	stalls in the 3.18-rc4 efforts.

7.	Make cond_resched_rcu_qs() apply to normal RCU flavors, allowing
	it to be placed in long-running loops that would otherwise result
	in RCU CPU stall warnings.

8.	Add GP-kthread-starvation checks to CPU stall warnings, making
	previous encoded warnings more human-readable.

9.	Fix RCU CPU stall detection in tiny implementation, courtesy of
	Miroslav Benes.

10.	Initialize tiny RCU stall-warning timeouts at boot.

							Thanx, Paul

------------------------------------------------------------------------

 b/Documentation/RCU/stallwarn.txt                         |   14 +
 b/Documentation/RCU/trace.txt                             |   32 +--
 b/include/linux/rcupdate.h                                |    3 
 b/include/linux/rcutiny.h                                 |    5 
 b/include/linux/rcutree.h                                 |    2 
 b/init/Kconfig                                            |    1 
 b/kernel/rcu/tiny.c                                       |    2 
 b/kernel/rcu/tiny_plugin.h                                |    7 
 b/kernel/rcu/tree.c                                       |  119 ++++++++++++--
 b/kernel/rcu/tree.h                                       |    7 
 b/kernel/rcu/tree_plugin.h                                |   10 -
 b/kernel/rcu/tree_trace.c                                 |    8 
 b/lib/Kconfig.debug                                       |    2 
 b/tools/testing/selftests/rcutorture/bin/parse-console.sh |    2 
 14 files changed, 164 insertions(+), 50 deletions(-)


             reply	other threads:[~2015-01-07 17:52 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-07 17:52 Paul E. McKenney [this message]
2015-01-07 17:52 ` [PATCH tip/core/rcu 01/10] rcu: Set default to RCU_CPU_STALL_INFO=y Paul E. McKenney
2015-01-07 17:52   ` [PATCH tip/core/rcu 02/10] rcutorture: Add checks for stall ending before dump start Paul E. McKenney
2015-01-07 17:52   ` [PATCH tip/core/rcu 03/10] rcu: Make RCU_CPU_STALL_INFO include number of fqs attempts Paul E. McKenney
2015-01-07 17:52   ` [PATCH tip/core/rcu 04/10] rcu: Improve diagnostics for spurious RCU CPU stall warnings Paul E. McKenney
2015-01-07 17:52   ` [PATCH tip/core/rcu 05/10] rcu: Handle gpnum/completed wrap while dyntick idle Paul E. McKenney
2015-01-07 17:52   ` [PATCH tip/core/rcu 06/10] rcu: Run grace-period kthreads at real-time priority Paul E. McKenney
2015-01-07 17:52   ` [PATCH tip/core/rcu 07/10] rcu: Make cond_resched_rcu_qs() apply to normal RCU flavors Paul E. McKenney
2015-01-07 17:52   ` [PATCH tip/core/rcu 08/10] rcu: Add GP-kthread-starvation checks to CPU stall warnings Paul E. McKenney
2015-01-07 17:52   ` [PATCH tip/core/rcu 09/10] rcu: Fix RCU CPU stall detection in tiny implementation Paul E. McKenney
2015-01-07 17:52   ` [PATCH tip/core/rcu 10/10] rcu: Initialize tiny RCU stall-warning timeouts at boot Paul E. McKenney

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=20150107175225.GA4237@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=bobby.prani@gmail.com \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=dvhart@linux.intel.com \
    --cc=edumazet@google.com \
    --cc=fweisbec@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).