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

From: Ingo Molnar
Date: Wed Jan 06 2016 - 06:10:41 EST



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

> Hello, Ingo,
>
> The changes in this series include the following:
>
> 1. Adding transitivity uniformly to rcu_node structure ->lock
> acquisitions. (This is implemented by the first two commits
> on top of v4.4-rc2 due to the pervasive nature of this change.)
>
> http://article.gmane.org/gmane.linux.kernel/2100835
>
> 2. Documentation updates, including RCU requirements.
>
> http://article.gmane.org/gmane.linux.kernel/2104628
>
> 3. Expedited grace-period changes.
>
> http://article.gmane.org/gmane.linux.kernel/2104595
>
> 4. Miscellaneous fixes.
>
> http://article.gmane.org/gmane.linux.kernel/2104612
>
> 5. Linked-list fixes, courtesy of KTSAN.
>
> http://article.gmane.org/gmane.linux.kernel/2100875
>
> 6. Torture-test updates.
>
> http://article.gmane.org/gmane.linux.kernel/2104652
>
> 7. Late-breaking fix to sysrq-generated crash.
>
> http://article.gmane.org/gmane.linux.kernel/2111676
>
> 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 984cf355aeaa8f2eda3861b50d0e8d3e3f77e83b:
>
> sysrq: Fix warning in sysrq generated crash. (2015-12-29 16:29:18 -0800)
>
> ----------------------------------------------------------------
> Alexey Kardashevskiy (2):
> rcu: Fix comment for rcu_dereference_raw_notrace
> list: Add lockless list traversal primitives
>
> Ani Sinha (1):
> sysrq: Fix warning in sysrq generated crash.
>
> Chris Metcalf (1):
> Documentation/memory-barriers.txt: Fix ACCESS_ONCE thinko
>
> Paul E. McKenney (41):
> list: Use WRITE_ONCE() when adding to lists and hlists
> list: Use READ_ONCE() when testing for empty lists
> rcu: Add transitivity to remaining rcu_node ->lock acquisitions
> rcu: Short-circuit synchronize_sched_expedited() if only one CPU
> rcu: Clarify role of ->expmaskinitnext
> rcu: Move smp_mb() from rcu_seq_snap() to rcu_exp_gp_seq_snap()
> rcu: Invert sync_rcu_exp_select_cpus() "if" statement
> rcu: Reduce expedited GP memory contention via per-CPU variables
> rcu: Make expedited grace periods resolve stall-warning ties
> rcu: Add more diagnostics to expedited stall warning messages.
> rcu: Add rcu_normal kernel parameter to suppress expediting
> rcu: Wire up rcu_end_inkernel_boot()
> rcu: Allow expedited grace periods to be disabled at init
> rcu: Move lock_class_key to local scope
> rcu: Simplify rcu_sched_qs() control flow
> rcu: Remove lock-acquisition loop from rcu_read_unlock_special()
> rcu: Fix obsolete rcu_bootup_announce_oddness() comment
> rcu: Avoid tick_nohz_active checks on NOCBs CPUs
> rcu: Stop disabling interrupts in scheduler fastpaths
> list: Use WRITE_ONCE() when initializing list_head structures
> documentation: Record RCU requirements
> Documentation: Record bottom-bit-zero guarantee for ->next
> documentation: Cover requirements controlling stall warnings
> documentation: Composability analogies
> documentation: Expand on scheduler/RCU deadlock requirements
> documentation: Clarify RCU memory barriers and requirements
> documentation: Update RCU requirements based on expedited changes
> rcutorture: Add batch number to script printout
> rcutorture: Flag nonexistent RCU GP kthread
> rcutorture: Dump stack when GP kthread stalls
> rcutorture: Default grace period to three minutes, allow override
> rcutorture: Print symbolic name for rcu_torture_writer_state
> rcutorture: Print symbolic name for ->gp_state
> torture: Abbreviate console error dump
> torture: Place console.log files correctly from the get-go
> rcu: Remove TINY_RCU bloat from pointless boot parameters
> rcu: Eliminate unused rcu_init_one() argument
> rcu: Make cpu_needs_another_gp() be bool
> rcu: Don't redundantly disable irqs in rcu_irq_{enter,exit}()
> rcu: Make rcu_gp_init() be bool rather than int
> Merge branches 'doc.2015.12.05a', 'exp.2015.12.07a', 'fixes.2015.12.07a', 'list.2015.12.04b' and 'torture.2015.12.05a' into HEAD
>
> Paul Gortmaker (1):
> kernel: Make rcu/tree_trace.c explicitly non-modular
>
> Peter Zijlstra (2):
> rcu: Create transitive rnp->lock acquisition functions
> rcu: Move wakeup out from under rnp->lock
>
> Petko Manolov (1):
> list: Introduces generic list_splice_tail_init_rcu()
>
> Yang Shi (1):
> rcutorture: Remove CONFIG_RCU_USER_QS from rcutorture selftest doc
>
> .../RCU/Design/Requirements/2013-08-is-it-dead.png | Bin 0 -> 100825 bytes
> .../Design/Requirements/GPpartitionReaders1.svg | 374 +++
> .../RCU/Design/Requirements/RCUApplicability.svg | 237 ++
> .../Design/Requirements/ReadersPartitionGP1.svg | 639 +++++
> .../RCU/Design/Requirements/Requirements.html | 2897 ++++++++++++++++++++
> .../RCU/Design/Requirements/Requirements.htmlx | 2741 ++++++++++++++++++
> Documentation/RCU/Design/htmlqqz.sh | 108 +
> Documentation/kernel-parameters.txt | 29 +-
> Documentation/memory-barriers.txt | 8 +-
> drivers/tty/sysrq.c | 6 +
> include/linux/list.h | 14 +-
> include/linux/list_bl.h | 2 +-
> include/linux/list_nulls.h | 2 +-
> include/linux/rculist.h | 105 +-
> include/linux/rcupdate.h | 21 +-
> include/linux/rcutiny.h | 8 +
> include/linux/rcutree.h | 4 +-
> include/linux/tracepoint.h | 4 +-
> init/main.c | 2 +
> kernel/ksysfs.c | 26 +-
> kernel/rcu/rcutorture.c | 24 +-
> kernel/rcu/srcu.c | 2 +-
> kernel/rcu/tree.c | 313 ++-
> kernel/rcu/tree.h | 61 +-
> kernel/rcu/tree_plugin.h | 66 +-
> kernel/rcu/tree_trace.c | 39 +-
> kernel/rcu/update.c | 22 +-
> kernel/sched/core.c | 6 +-
> lib/list_debug.c | 2 +-
> .../selftests/rcutorture/bin/kvm-test-1-run.sh | 9 +-
> tools/testing/selftests/rcutorture/bin/kvm.sh | 22 +-
> .../selftests/rcutorture/bin/parse-console.sh | 41 +-
> .../testing/selftests/rcutorture/doc/TINY_RCU.txt | 1 -
> .../selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 4 -
> 34 files changed, 7552 insertions(+), 287 deletions(-)
> create mode 100644 Documentation/RCU/Design/Requirements/2013-08-is-it-dead.png
> create mode 100644 Documentation/RCU/Design/Requirements/GPpartitionReaders1.svg
> create mode 100644 Documentation/RCU/Design/Requirements/RCUApplicability.svg
> create mode 100644 Documentation/RCU/Design/Requirements/ReadersPartitionGP1.svg
> create mode 100644 Documentation/RCU/Design/Requirements/Requirements.html
> create mode 100644 Documentation/RCU/Design/Requirements/Requirements.htmlx
> create mode 100755 Documentation/RCU/Design/htmlqqz.sh

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/