From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751999AbbJRAGM (ORCPT ); Sat, 17 Oct 2015 20:06:12 -0400 Received: from e34.co.us.ibm.com ([32.97.110.152]:47517 "EHLO e34.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751640AbbJRAGJ (ORCPT ); Sat, 17 Oct 2015 20:06:09 -0400 X-IBM-Helo: d03dlp02.boulder.ibm.com X-IBM-MailFrom: paulmck@linux.vnet.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org Date: Sat, 17 Oct 2015 17:06:07 -0700 From: "Paul E. McKenney" To: mingo@kernel.org Cc: linux-kernel@vger.kernel.org, dave@stgolabs.net, boqun.feng@gmail.com, pmladek@suse.com, patrick.marlier@gmail.com, Jason@zx2c4.com, oleg@redhat.com Subject: [GIT PULL rcu/next] RCU commits for 4.4 Message-ID: <20151018000607.GA12007@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: 15101800-0017-0000-0000-00000EC41D6A 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: 1. Miscellaneous fixes. These were posted to LKML at https://lkml.org/lkml/2015/10/6/496. 2. Improvements to expedited grace periods. These were posted to LKML at https://lkml.org/lkml/2015/10/6/541. 3. Documentation updates. These were posted to LKML at https://lkml.org/lkml/2015/10/6/560. 4. Performance improvements to and locktorture tests for percpu-rwsem. These were posted to LKML at https://lkml.org/lkml/2015/10/6/576. 5. Torture-test changes. These were posted to LKML at https://lkml.org/lkml/2015/10/6/590. 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 39cd2dd39a8b92ce91c4dad95f6e979c946a3942: Merge branches 'doc.2015.10.06a', 'percpu-rwsem.2015.10.06a' and 'torture.2015.10.06a' into HEAD (2015-10-07 16:06:25 -0700) ---------------------------------------------------------------- Boqun Feng (3): rcu: Use rcu_callback_t in call_rcu*() and friends rcu: Use call_rcu_func_t to replace explicit type equivalents rcu: Don't disable preemption for Tiny and Tree RCU readers Davidlohr Bueso (2): sched: Export sched_setscheduler_nocheck locktorture: Support rtmutex torturing Jason A. Donenfeld (1): documentation: Correct doc to use rcu_dereference_protected Oleg Nesterov (9): rcu: Create rcu_sync infrastructure rcu_sync: Simplify rcu_sync using new rcu_sync_ops structure rcu_sync: Add CONFIG_PROVE_RCU checks rcu_sync: Introduce rcu_sync_dtor() locking/percpu-rwsem: Make percpu_free_rwsem() after kzalloc() safe locking/percpu-rwsem: Make use of the rcu_sync infrastructure locking/percpu-rwsem: Fix the comments outdated by rcu_sync locking/percpu-rwsem: Clean up the lockdep annotations in percpu_down_read() rcu_sync: Cleanup the CONFIG_PROVE_RCU checks Patrick Marlier (1): rculist: Make list_entry_rcu() use lockless_dereference() Paul E. McKenney (38): rcu: Use rsp->expedited_wq instead of sync_rcu_preempt_exp_wq rcu: Move rcu_report_exp_rnp() to allow consolidation rcu: Consolidate tree setup for synchronize_rcu_expedited() rcu: Use single-stage IPI algorithm for RCU expedited grace period rcu: Move synchronize_sched_expedited() to combining tree rcu: Rename qs_pending to core_needs_qs rcu: Invert passed_quiesce and rename to cpu_no_qs rcu: Make ->cpu_no_qs be a union for aggregate OR rcu: Eliminate panic when silly boot-time fanout specified rcu: Add online/offline info to stall warning message rcu: Move preemption disabling out of __srcu_read_lock() rcu: Correct comment for values of ->gp_state field rcu: Add rcu_pointer_handoff() rcu: Remove deprecated rcu_lockdep_assert() rculist: Use WRITE_ONCE() when deleting from reader-visible list documentation: No acquire/release for RCU readers documentation: Call out slow consoles as cause of stall warnings documentation: Catch up list of torture_type options documentation: Add lockless_dereference() locking/percpu-rwsem: Export symbols for locktorture locktorture: Add torture tests for percpu_rwsem torture: Consolidate cond_resched_rcu_qs() into stutter_wait() rcutorture: Fix module unwind when bad torture_type specified rcutorture: Fix unused-function warning for torturing_tasks() torture: Forgive non-plural arguments locktorture: Fix module unwind when bad torture_type specified rcu: Switch synchronize_sched_expedited() to IPI rcu: Stop silencing lockdep false positive for expedited grace periods rcu: Stop excluding CPU hotplug in synchronize_sched_expedited() cpu: Remove try_get_online_cpus() rcu: Prepare for consolidating expedited CPU selection rcu: Consolidate expedited CPU selection rcu: Add online/offline info to expedited stall warning message rcu: Add tasks to expedited stall-warning messages rcu: Enable stall warnings for synchronize_rcu_expedited() rcu: Better hotplug handling for synchronize_sched_expedited() Merge branches 'fixes.2015.10.06a' and 'exp.2015.10.07a' into HEAD Merge branches 'doc.2015.10.06a', 'percpu-rwsem.2015.10.06a' and 'torture.2015.10.06a' into HEAD Petr Mladek (1): rcu: Finish folding ->fqs_state into ->gp_state Documentation/RCU/stallwarn.txt | 7 + Documentation/RCU/torture.txt | 39 +- Documentation/RCU/trace.txt | 32 +- Documentation/RCU/whatisRCU.txt | 6 +- Documentation/kernel-parameters.txt | 9 +- Documentation/locking/locktorture.txt | 3 + Documentation/memory-barriers.txt | 12 +- include/linux/cpu.h | 2 - include/linux/list.h | 5 +- include/linux/list_bl.h | 5 +- include/linux/list_nulls.h | 3 +- include/linux/percpu-rwsem.h | 3 +- include/linux/rcu_sync.h | 86 ++++ include/linux/rculist.h | 5 +- include/linux/rcupdate.h | 59 +-- include/linux/rcutiny.h | 3 +- include/linux/rcutree.h | 2 +- include/linux/sched.h | 10 +- include/linux/srcu.h | 5 +- kernel/cpu.c | 13 - kernel/exit.c | 2 + kernel/locking/locktorture.c | 164 ++++++- kernel/locking/percpu-rwsem.c | 90 ++-- kernel/rcu/Makefile | 2 +- kernel/rcu/rcutorture.c | 16 +- kernel/rcu/srcu.c | 4 +- kernel/rcu/sync.c | 223 +++++++++ kernel/rcu/tiny.c | 8 +- kernel/rcu/tree.c | 512 ++++++++++++++++----- kernel/rcu/tree.h | 69 ++- kernel/rcu/tree_plugin.h | 437 ++++++++++-------- kernel/rcu/tree_trace.c | 10 +- kernel/rcu/update.c | 2 +- kernel/sched/core.c | 1 + kernel/torture.c | 1 + tools/testing/selftests/rcutorture/bin/kvm.sh | 6 +- .../selftests/rcutorture/configs/lock/CFLIST | 4 +- .../selftests/rcutorture/configs/lock/LOCK05 | 6 + .../selftests/rcutorture/configs/lock/LOCK05.boot | 1 + .../selftests/rcutorture/configs/lock/LOCK06 | 6 + .../selftests/rcutorture/configs/lock/LOCK06.boot | 1 + 41 files changed, 1331 insertions(+), 543 deletions(-) create mode 100644 include/linux/rcu_sync.h create mode 100644 kernel/rcu/sync.c create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK05 create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK05.boot create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK06 create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK06.boot