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(-)

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

Reply via email to