From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752348AbbCZSJg (ORCPT ); Thu, 26 Mar 2015 14:09:36 -0400 Received: from e37.co.us.ibm.com ([32.97.110.158]:52045 "EHLO e37.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751840AbbCZSJe (ORCPT ); Thu, 26 Mar 2015 14:09:34 -0400 Date: Thu, 26 Mar 2015 11:09:25 -0700 From: "Paul E. McKenney" To: mingo@kernel.org Cc: laijs@cn.fujitsu.com, yaodongdong@huawei.com, agordeev@redhat.com, linux-kernel@vger.kernel.org Subject: [GIT PULL rcu/next] RCU commits for 4.1 Message-ID: <20150326180925.GA17801@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15032618-0025-0000-0000-0000097EFF01 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, Ingo, The changes in this series include the following, but please see the note on set 5: 1. Documentation updates. These were posted to LKML at https://lkml.org/lkml/2015/3/3/493. 2. Changes permitting use of call_rcu() and friends very early in boot, for example, before rcu_init() is invoked. These were posted to LKML at https://lkml.org/lkml/2015/3/3/510. 3. Miscellaneous fixes. These were posted to LKML at https://lkml.org/lkml/2015/3/3/538. 4. In-kernel API to enable and disable expediting of normal RCU grace periods. These were posted to LKML at https://lkml.org/lkml/2015/3/3/557. 5. Improve RCU's handling of outgoing CPUs. These were posted to LKML at https://lkml.org/lkml/2015/3/3/578. Note: ARM support is lagging a bit. This might require that this particular set of commits be deferred. I am currently optimistic, but please let me know if you would like to handle these some other way. 6. NO_HZ_FULL_SYSIDLE fixes. These were posted to LKML at https://lkml.org/lkml/2015/3/3/607. 7. Tiny RCU updates to make it more tiny. These were posted to LKML at https://lkml.org/lkml/2015/3/3/618. These changes (based on v4.0-rc1) 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 42528795ac1c8d7ba021797ec004904168956d64: Merge branches 'doc.2015.02.26a', 'earlycb.2015.03.03a', 'fixes.2015.03.03a', 'gpexp.2015.02.26a', 'hotplug.2015.03.20a', 'sysidle.2015.02.26b' and 'tiny.2015.02.26a' into HEAD (2015-03-20 08:31:01 -0700) ---------------------------------------------------------------- Alexander Gordeev (2): rcu: Remove unnecessary condition check in rcu_qsctr_help() rcu: Remove fastpath from __rcu_process_callbacks() Lai Jiangshan (1): rcu_tree: Avoid touching rnp->completed when a new GP is started Paul E. McKenney (53): rcu: Consolidate rcu_synchronize and wakeme_after_rcu() documentation: Update rcutree.kthread_prio for grace-period kthread use documentation: Update based on on-demand vmstat workers documentation: Update NO_HZ_FULL interaction with POSIX timers documentation: Update per-CPU kthreads documentation documentation: Clarify memory-barrier semantics of atomic operations documentation: Clarify control-dependency pairing rcu: Abstract default callback-list initialization from init_callback_list() rcu: Wire ->rda pointers at compile time rcu: Prevent early-boot RCU callbacks from splatting rcu: Refine diagnostics for lacking kthread for no-CBs callbacks rcu: Avoid clobbering early boot callbacks rcu: Fix a couple of typos in rcu_all_qs() comment header rcu: Drive PROVE_RCU directly off of PROVE_LOCKING rcu: Provide rcu_expedite_gp() and rcu_unexpedite_gp() rcu: Add rcu_expedite_gp() and rcu_unexpedite_gp() to rcutorture rcu: Update from rcu_expedited variable to rcu_gp_is_expedited() rcu: Add Kconfig option to expedite grace periods during boot rcutorture: Make consistent use of variables rcu: Fixes to NO_HZ_FULL sysidle accounting rcu: Tighten up affinity and check for sysidle rcu: Move early-boot callbacks to no-CBs lists for no-CBs CPUs rcu: Move early boot callback tests earlier rcu: Use IS_ENABLED() to CONFIG_RCU_FANOUT_EXACT #ifdef rcu: Improve diagnostics for blocked critical sections in irq rcu: Use IS_ENABLED() to simplify rcu_bootup_announce_oddness() rcu: Add boot-up check for non-default CONFIG_RCU_FANOUT_LEAF values rcu: Reverse rcu_dereference_check() conditions torture: Avoid script syntax error when insufficient CPUs rcu: Get rcu_sched_force_quiescent_state() where it belongs smpboot: Add common code for notification from dying CPU x86: Use common outgoing-CPU-notification code blackfin: Use common outgoing-CPU-notification code metag: Use common outgoing-CPU-notification code rcu: Consolidate offline-CPU callback initialization rcu: Put all orphan-callback-related code under same comment rcu: Simplify sync_rcu_preempt_exp_init() rcu: Eliminate empty HOTPLUG_CPU ifdef rcu: Detect stalls caused by failure to propagate up rcu_node tree rcu: Provide diagnostic option to slow down grace-period initialization rcutorture: Enable slow grace-period initializations rcu: Remove event tracing from rcu_cpu_notify(), used by offline CPUs rcu: Rework preemptible expedited bitmask handling rcu: Move rcu_report_unblock_qs_rnp() to common code rcu: Process offlining and onlining only at grace-period start rcu: Eliminate ->onoff_mutex from rcu_node structure cpu: Make CPU-offline idle-loop transition point more precise rcu: Handle outgoing CPUs on exit from idle loop rcutorture: Default to grace-period-initialization delays rcu: Add diagnostics to grace-period cleanup rcu: Yet another fix for preemption and CPU hotplug rcu: Associate quiescent-state reports with grace period Merge branches 'doc.2015.02.26a', 'earlycb.2015.03.03a', 'fixes.2015.03.03a', 'gpexp.2015.02.26a', 'hotplug.2015.03.20a', 'sysidle.2015.02.26b' and 'tiny.2015.02.26a' into HEAD Yao Dongdong (1): rcu: Remove redundant check of cpu_online() Documentation/atomic_ops.txt | 45 +-- Documentation/kernel-parameters.txt | 20 +- Documentation/kernel-per-CPU-kthreads.txt | 34 +- Documentation/memory-barriers.txt | 42 +- Documentation/timers/NO_HZ.txt | 10 +- arch/blackfin/mach-common/smp.c | 6 +- arch/metag/kernel/smp.c | 5 +- arch/x86/include/asm/cpu.h | 2 - arch/x86/include/asm/smp.h | 2 +- arch/x86/kernel/smpboot.c | 39 +- arch/x86/xen/smp.c | 46 ++- include/linux/cpu.h | 14 + include/linux/lockdep.h | 7 +- include/linux/rcupdate.h | 40 +- include/linux/srcu.h | 2 +- init/Kconfig | 13 + kernel/cpu.c | 4 +- kernel/rcu/rcutorture.c | 27 +- kernel/rcu/srcu.c | 19 +- kernel/rcu/tiny.c | 14 +- kernel/rcu/tree.c | 437 +++++++++++++++------ kernel/rcu/tree.h | 11 +- kernel/rcu/tree_plugin.h | 267 +++++++------ kernel/rcu/tree_trace.c | 4 +- kernel/rcu/update.c | 72 +++- kernel/sched/idle.c | 9 +- kernel/smpboot.c | 156 ++++++++ lib/Kconfig.debug | 35 +- tools/testing/selftests/rcutorture/bin/kvm.sh | 2 +- .../selftests/rcutorture/configs/rcu/CFcommon | 1 + 30 files changed, 948 insertions(+), 437 deletions(-)