Re: [GIT PULL rcu/next] RCU commits for 3.16

From: Ingo Molnar
Date: Thu May 22 2014 - 05:37:27 EST



* Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> wrote:

> Hello, Ingo,
>
> The changes in this series include:
>
> 1. Update RCU documentation. These were posted to LKML at
> https://lkml.org/lkml/2014/4/28/634.
>
> 2. Miscellaneous fixes. These were posted to LKML at
> https://lkml.org/lkml/2014/4/28/645.
>
> 3. Torture-test changes. These were posted to LKML at
> https://lkml.org/lkml/2014/4/28/667.
>
> 4. Variable-name renaming cleanup, sent separately due to conflicts.
> This was posted to LKML at https://lkml.org/lkml/2014/5/13/854.
>
> 5. Patch to suppress RCU stall warnings while sysrq requests are
> being processed. This patch is the RCU portions of the patch
> that Rik posted to LKML at https://lkml.org/lkml/2014/4/29/457.
> The reason for pushing this patch ahead instead of waiting until
> 3.17 is that the NMI-based stack traces are messing up sysrq
> output, and in some cases also messing up the system as well.
>
> All of these have been exposed to -next testing.
> These changes are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
>
> for you to fetch changes up to 61f38db3e3c0e4c3be0858750e2cabeadaecac0c:
>
> rcu: Provide API to suppress stall warnings while sysrc runs (2014-05-19 10:52:04 -0700)
>
> Thanx, Paul
>
> ----------------------------------------------------------------
> Andreea-Cristina Bernat (3):
> rcu: Add event tracing to dyntick_save_progress_counter().
> rcu: Consolidate kfree_call_rcu() to use rcu_state pointer
> rcu: Merge rcu_sched_force_quiescent_state() with rcu_force_quiescent_state()
>
> Christoph Lameter (1):
> rcu: Replace __this_cpu_ptr() uses with raw_cpu_ptr()
>
> Eric Dumazet (1):
> softirq: A single rcu_bh_qs() call per softirq set is enough
>
> Himangi Saraogi (2):
> rcu: Protect uses of ->jiffies_stall with ACCESS_ONCE()
> rcu: Replace NR_CPUS with nr_cpu_ids
>
> Iulia Manda (4):
> rcu: Remove unused rcu_data structure field
> rcu: Protect uses of jiffies_stall field with ACCESS_ONCE()
> rcu: Remove "extern" from function declaration in include/linux/rcupdate.h
> torture: Notice if an all-zero cpumask is passed inside a critical section
>
> Liu Ping Fan (1):
> rcu: Fix incorrect notes for code
>
> Paul E. McKenney (50):
> documentation: Update sysfs path for rcu_cpu_stall_suppress
> documentation: Record rcu_dereference() value mishandling
> documentation: Update API documentation
> rcu: Protect ->gp_flags accesses with ACCESS_ONCE()
> rcu: Print negatives for stall-warning counter wraparound
> rcu: Update cpu_needs_another_gp() for futures from non-NOCB CPUs
> rcu: Make callers awaken grace-period kthread
> rcu: Document RCU_INIT_POINTER()'s lack of ordering guarantees
> rcu: Bind RCU grace-period kthreads if NO_HZ_FULL
> rcu: Make large and small sysidle systems use same state machine
> rcutorture: Add forward-progress checking for writer
> torture: Remove obsolete builddir options
> torture: Add batch headers "--dryrun sched"
> torture: Make parse-rcutorture.sh less RCU-specific
> torture: Rename RCU_INITRD to TORTURE_INITRD
> torture: Intensify locking test
> torture: Allow variations of "defconfig" to be specified
> torture: Rename RCU_KMAKE_ARG to TORTURE_KMAKE_ARG
> torture: Rename RCU_BOOTARGS to TORTURE_BOOTARGS
> torture: Rename RCU_BUILDONLY to TORTURE_BUILDONLY
> torture: Rename RCU_QEMU_INTERACTIVE to TORTURE_QEMU_INTERACTIVE
> torture: Rename RCU_QEMU_MAC to TORTURE_QEMU_MAC
> torture: Rename RCU_QEMU_ARG to TORTURE_QEMU_ARG
> torture: Rename RCU_QEMU_CMD to TORTURE_QEMU_CMD
> torture: Make config-fragment filtering RCU-independent
> torture: Make "--dryrun script" output self-sufficient
> torture: Make "--dryrun script" use same environment as normal run
> rcutorture: Print negatives for SRCU counter wraparound
> torture: Include "Stopping" string to torture_kthread_stopping()
> torture: Report diagnostics from qemu
> torture: Increase stutter-end intensity
> torture: Permit multi-word qemu and boot arguments
> torture: Choose bzImage location based on architecture
> torture: Add tracing-enabled variant of TREE02
> torture: Dump ftrace buffer when the RCU grace period stalls
> rcutorture: Export RCU grace-period kthread wait state to rcutorture
> percpu: Fix raw_cpu_inc_return()
> sched,rcu: Make cond_resched() report RCU quiescent states
> rcutorture: Make rcu_torture_reader() use cond_resched()
> torture: Better summary diagnostics for build failures
> rcutorture: Check for rcu_torture_fqs creation errors
> torture: Use elapsed time to detect hangs
> rcutorture: Test RCU-sched primitives in TREE_PREEMPT_RCU kernels
> rcutorture: Add tests for get_state_synchronize_rcu()
> rcutorture: Explicitly test synchronous grace-period primitives
> rcutorture: Note diffs from git commits
> rcutorture: Run rcu_torture_writer at normal priority
> locktorture: Remove reference to nonexistent Kconfig parameter
> torture: Check for multiple concurrent torture tests
> Merge branches 'doc.2014.04.29a', 'fixes.2014.04.29a' and 'torture.2014.05.14a' into HEAD
>
> Pranith Kumar (3):
> rcu: Remove duplicate resched_cpu() declaration
> torture: Remove __init from torture_init_begin/end
> torture: Remove unused definition
>
> Rashika Kheria (1):
> rcutorture: Mark function as static in kernel/rcu/torture.c
>
> Rik van Riel (1):
> rcu: Provide API to suppress stall warnings while sysrc runs
>
> Thomas Gleixner (1):
> rcutorture: Add missing destroy_timer_on_stack()
>
> Uma Sharma (1):
> rcu: Variable name changed in tree_plugin.h and used in tree.c
>
> Documentation/RCU/00-INDEX | 2 +
> Documentation/RCU/checklist.txt | 12 +-
> Documentation/RCU/rcu_dereference.txt | 371 +++++++++++++++++++++
> Documentation/RCU/stallwarn.txt | 2 +-
> Documentation/RCU/whatisRCU.txt | 55 ++-
> include/linux/percpu.h | 2 +-
> include/linux/rcupdate.h | 72 +++-
> include/linux/rcutiny.h | 4 +
> include/linux/rcutree.h | 1 +
> include/linux/torture.h | 8 +-
> kernel/locking/locktorture.c | 10 +-
> kernel/rcu/rcutorture.c | 217 +++++++++---
> kernel/rcu/tiny_plugin.h | 8 +-
> kernel/rcu/tree.c | 309 ++++++++++++-----
> kernel/rcu/tree.h | 11 +-
> kernel/rcu/tree_plugin.h | 136 ++------
> kernel/rcu/update.c | 30 ++
> kernel/sched/core.c | 7 +-
> kernel/softirq.c | 4 +-
> kernel/torture.c | 40 ++-
> .../testing/selftests/rcutorture/bin/configinit.sh | 2 +-
> .../testing/selftests/rcutorture/bin/functions.sh | 48 ++-
> .../testing/selftests/rcutorture/bin/kvm-build.sh | 6 +-
> .../selftests/rcutorture/bin/kvm-recheck-lock.sh | 2 +-
> .../selftests/rcutorture/bin/kvm-recheck-rcu.sh | 2 +-
> .../selftests/rcutorture/bin/kvm-recheck.sh | 24 +-
> .../selftests/rcutorture/bin/kvm-test-1-run.sh | 47 ++-
> tools/testing/selftests/rcutorture/bin/kvm.sh | 142 ++++----
> .../bin/{parse-rcutorture.sh => parse-torture.sh} | 22 +-
> .../selftests/rcutorture/configs/rcu/TREE02-T | 25 ++
> .../selftests/rcutorture/configs/rcu/TREE08.boot | 1 +
> 31 files changed, 1210 insertions(+), 412 deletions(-)
> create mode 100644 Documentation/RCU/rcu_dereference.txt
> rename tools/testing/selftests/rcutorture/bin/{parse-rcutorture.sh => parse-torture.sh} (79%)
> create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE02-T
> create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE08.boot

Pulled into tip:core/rcu, thanks a lot Paul!

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