Hello, Ingo, and Happy New Year!

This pull request contains the following changes:

1.      Updates to use cond_resched() instead of cond_resched_rcu_qs()
        where feasible (currently everywhere except in kernel/rcu and
        in kernel/torture.c).  Also a couple of fixes to avoid sending
        IPIs to offline CPUs.

        http://lkml.kernel.org/r/20171201192122.ga19...@linux.vnet.ibm.com

2.      Updates to simplify RCU's dyntick-idle handling.

        http://lkml.kernel.org/r/20171201193625.ga20...@linux.vnet.ibm.com

3.      Miscellaneous fixes.

        http://lkml.kernel.org/r/20171201194139.ga22...@linux.vnet.ibm.com

4.      Updates to remove almost all uses of smp_read_barrier_depends()
        and read_barrier_depends().

        http://lkml.kernel.org/r/20171201195053.ga23...@linux.vnet.ibm.com

5.      Torture-test updates.

        http://lkml.kernel.org/r/20171201200819.ga25...@linux.vnet.ibm.com
        
All of these changes have been subjected to 0day Test Robot and -next
testing, and are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo

for you to fetch changes up to 1dfa55e01987288d847220b8c027204871440ed1:

  Merge branches 'cond_resched.2017.12.04a', 'dyntick.2017.11.28a', 
'fixes.2017.12.11a', 'srbd.2017.12.05a' and 'torture.2017.12.11a' into HEAD 
(2017-12-11 09:21:58 -0800)

----------------------------------------------------------------
Davidlohr Bueso (2):
      locking/locktorture: Fix rwsem reader_delay
      locking/locktorture: Fix num reader/writer corner cases

Paul E. McKenney (59):
      rcu: Avoid ->dynticks_nmi_nesting store tearing
      rcu: Reduce dyntick-idle state space
      rcu: Move rcu_nmi_{enter,exit}() to prepare for consolidation
      rcu: Clamp ->dynticks_nmi_nesting at eqs entry/exit
      rcu: Define rcu_irq_{enter,exit}() in terms of rcu_nmi_{enter,exit}()
      rcu: Make ->dynticks_nesting be a simple counter
      rcu: Eliminate rcu_irq_enter_disabled()
      rcu: Add tracing to irq/NMI dyntick-idle transitions
      rcu: Shrink ->dynticks_{nmi_,}nesting from long long to long
      rcu: Add ->dynticks field to rcu_dyntick trace event
      rcu: Stop duplicating lockdep checks in RCU's idle-entry code
      rcu: Avoid ->dynticks_nesting store tearing
      rcu: Fold rcu_eqs_enter_common() into rcu_eqs_enter()
      rcu: Fold rcu_eqs_exit_common() into rcu_eqs_exit()
      rcu: Simplify rcu_eqs_{enter,exit}() non-idle task debug code
      doc: Update dyntick-idle design documentation for NMI/irq consolidation
      srcu: Prohibit call_srcu() use under raw spinlocks
      torture: Suppress CPU stall warnings during shutdown ftrace dump
      torture: Prepare scripting for shift from %p to %pK
      sched: Stop resched_cpu() from sending IPIs to offline CPUs
      sched: Stop switched_to_rt() from sending IPIs to offline CPUs
      netfilter: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
      mm: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
      workqueue: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
      trace: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
      softirq: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
      fs: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
      doc: Eliminate cond_resched_rcu_qs() in favor of cond_resched()
      rcu: Account for rcu_all_qs() in cond_resched()
      doc: READ_ONCE() now implies smp_barrier_depends()
      mn10300: READ_ONCE() now implies smp_read_barrier_depends()
      drivers/net/ethernet/qlogic/qed: Fix __qed_spq_block() ordering
      fs/dcache: Use release-acquire for name/length update
      percpu: READ_ONCE() now implies smp_read_barrier_depends()
      rcu: Adjust read-side accessor comments for READ_ONCE()
      rtnetlink: Update now-misleading smp_read_barrier_depends() comment
      seqlock: Remove now-redundant smp_read_barrier_depends()
      uprobes: Remove now-redundant smp_read_barrier_depends()
      locking: Remove smp_read_barrier_depends() from 
queued_spin_lock_slowpath()
      tracepoint: Remove smp_read_barrier_depends() from comment
      lib/assoc_array: Remove smp_read_barrier_depends()
      mm/ksm: Remove now-redundant smp_read_barrier_depends()
      netfilter: Remove now-redundant smp_read_barrier_depends()
      keyring: Remove now-redundant smp_read_barrier_depends()
      drivers/infiniband: Remove now-redundant smp_read_barrier_depends()
      drivers/dma/ioat: Remove now-redundant smp_read_barrier_depends()
      doc: De-emphasize smp_read_barrier_depends
      genetlink: Remove smp_read_barrier_depends() from comment
      netlink: Remove smp_read_barrier_depends() from comment
      checkpatch: Add warnings for {smp_,}read_barrier_depends()
      drivers/vhost: Remove now-redundant read_barrier_depends()
      rcu: Add comment giving debug strategy for double call_rcu()
      torture: Reduce #ifdefs for preempt_schedule()
      rcutorture: Preempt RCU-preempt readers more vigorously
      torture: Place all torture-test modules in one MAINTAINERS group
      torture: Make stutter less vulnerable to compilers and races
      torture: Eliminate torture_runnable and perf_runnable
      torture: Save a line in stutter_wait(): while -> for
      Merge branches 'cond_resched.2017.12.04a', 'dyntick.2017.11.28a', 
'fixes.2017.12.11a', 'srbd.2017.12.05a' and 'torture.2017.12.11a' into HEAD

Rakib Mullick (1):
      rcu: Remove have_rcu_nocb_mask from tree_plugin.h

SeongJae Park (9):
      rcutorture/configinit: Fix build directory error message
      rcutorture: Remove unused script, config2frag.sh
      rcutorture/kvm.sh: Remove unused variable, `alldone`
      rcutorture/kvm.sh: Use consistent help text for --qemu-args
      rcutorture/kvm.sh: Support execution from any directory
      rcutorture/kvm-recheck-*: Improve result directory readability check
      rcutorture: Simplify logging
      rcutorture: Simplify functions.sh include path
      rcutorture/kvm-build.sh: Skip build directory check

Steven Rostedt (VMware) (2):
      tracing, rcu: Remove no longer used trace event rcu_prep_idle
      tracing, rcu: Hide trace event rcu_nocb_wake when not used

 .../Design/Data-Structures/Data-Structures.html    |  49 ++-
 .../RCU/Design/Requirements/Requirements.html      |   7 +-
 Documentation/RCU/rcu_dereference.txt              |   6 +-
 Documentation/RCU/stallwarn.txt                    |  10 +-
 Documentation/RCU/whatisRCU.txt                    |   3 +-
 Documentation/admin-guide/kernel-parameters.txt    |   9 -
 Documentation/circular-buffers.txt                 |   3 +-
 Documentation/locking/locktorture.txt              |   5 -
 Documentation/memory-barriers.txt                  |  22 +-
 MAINTAINERS                                        |  22 +-
 arch/mn10300/kernel/mn10300-serial.c               |   7 +-
 drivers/dma/ioat/dma.c                             |   2 -
 drivers/infiniband/Kconfig                         |   1 +
 drivers/infiniband/hw/hfi1/rc.c                    |   4 -
 drivers/infiniband/hw/hfi1/ruc.c                   |   1 -
 drivers/infiniband/hw/hfi1/sdma.c                  |   1 -
 drivers/infiniband/hw/hfi1/uc.c                    |   2 -
 drivers/infiniband/hw/hfi1/ud.c                    |   2 -
 drivers/infiniband/hw/qib/qib_rc.c                 |   3 -
 drivers/infiniband/hw/qib/qib_ruc.c                |   1 -
 drivers/infiniband/hw/qib/qib_uc.c                 |   2 -
 drivers/infiniband/hw/qib/qib_ud.c                 |   2 -
 drivers/infiniband/sw/rdmavt/qp.c                  |   1 -
 drivers/net/ethernet/qlogic/qed/qed_spq.c          |   4 +-
 drivers/vhost/vhost.c                              |   7 +-
 fs/dcache.c                                        |  10 +-
 fs/file.c                                          |   2 +-
 include/linux/genetlink.h                          |   3 +-
 include/linux/netfilter/nfnetlink.h                |   3 +-
 include/linux/percpu-refcount.h                    |   6 +-
 include/linux/rcupdate.h                           |  25 +-
 include/linux/rcutiny.h                            |   1 -
 include/linux/rcutree.h                            |   1 -
 include/linux/rtnetlink.h                          |   3 +-
 include/linux/seqlock.h                            |   3 +-
 include/linux/srcutree.h                           |   8 +-
 include/linux/torture.h                            |   8 +-
 include/linux/tracepoint.h                         |   5 +-
 include/trace/events/rcu.h                         |  75 ++---
 kernel/events/uprobes.c                            |  12 +-
 kernel/locking/locktorture.c                       | 108 +++----
 kernel/locking/qspinlock.c                         |  12 +-
 kernel/rcu/rcu.h                                   |  27 +-
 kernel/rcu/rcuperf.c                               |   6 +-
 kernel/rcu/rcutorture.c                            |  12 +-
 kernel/rcu/srcutree.c                              | 109 ++++---
 kernel/rcu/tree.c                                  | 355 ++++++++-------------
 kernel/rcu/tree.h                                  |   5 +-
 kernel/rcu/tree_plugin.h                           |  13 +-
 kernel/sched/core.c                                |   3 +-
 kernel/sched/rt.c                                  |   2 +-
 kernel/softirq.c                                   |   2 +-
 kernel/torture.c                                   |  39 ++-
 kernel/trace/trace.c                               |  11 -
 kernel/trace/trace_benchmark.c                     |   2 +-
 kernel/tracepoint.c                                |   9 +-
 kernel/workqueue.c                                 |   2 +-
 lib/assoc_array.c                                  |  37 +--
 lib/percpu-refcount.c                              |   8 +-
 mm/ksm.c                                           |   9 +-
 mm/mlock.c                                         |   2 +-
 net/ipv4/netfilter/arp_tables.c                    |   7 +-
 net/ipv4/netfilter/ip_tables.c                     |   7 +-
 net/ipv6/netfilter/ip6_tables.c                    |   7 +-
 net/netfilter/nf_conntrack_core.c                  |   2 +-
 scripts/checkpatch.pl                              |   6 +
 security/keys/keyring.c                            |   7 -
 .../selftests/rcutorture/bin/config2frag.sh        |  25 --
 .../testing/selftests/rcutorture/bin/configinit.sh |   2 +-
 .../testing/selftests/rcutorture/bin/kvm-build.sh  |   5 -
 .../selftests/rcutorture/bin/kvm-recheck-lock.sh   |   2 +-
 .../selftests/rcutorture/bin/kvm-recheck-rcu.sh    |   4 +-
 .../rcutorture/bin/kvm-recheck-rcuperf-ftrace.sh   |   2 +-
 .../rcutorture/bin/kvm-recheck-rcuperf.sh          |   4 +-
 .../selftests/rcutorture/bin/kvm-recheck.sh        |   2 +-
 .../selftests/rcutorture/bin/kvm-test-1-run.sh     |   6 +-
 tools/testing/selftests/rcutorture/bin/kvm.sh      |  42 +--
 .../selftests/rcutorture/bin/parse-torture.sh      |   2 +-
 .../rcutorture/configs/lock/ver_functions.sh       |   1 -
 .../rcutorture/configs/rcu/ver_functions.sh        |   1 -
 .../rcutorture/configs/rcuperf/ver_functions.sh    |   1 -
 81 files changed, 501 insertions(+), 748 deletions(-)
 delete mode 100755 tools/testing/selftests/rcutorture/bin/config2frag.sh

Reply via email to