From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752547AbbH2Doq (ORCPT ); Fri, 28 Aug 2015 23:44:46 -0400 Received: from e32.co.us.ibm.com ([32.97.110.150]:38681 "EHLO e32.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752164AbbH2DoO (ORCPT ); Fri, 28 Aug 2015 23:44:14 -0400 X-Helo: d03dlp02.boulder.ibm.com X-MailFrom: paulmck@linux.vnet.ibm.com X-RcptTo: linux-kernel@vger.kernel.org Date: Fri, 28 Aug 2015 20:26:43 -0700 From: "Paul E. McKenney" To: linux-kernel@vger.kernel.org Cc: mingo@kernel.org, jiangshanlai@gmail.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com, bobby.prani@gmail.com Subject: [PATCH RFC tip/core/rcu 0/9] Add rcu_sync and implement percpu_rwsem in terms of it Message-ID: <20150829032643.GA19166@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: 15082903-0005-0000-0000-000017A17D05 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello! This series implements an rcu_sync primitive and updates percpu_rwsem to be implemented in terms of it. This is an updated version of the series posted by Oleg Nesterov, responding to feedback from Ingo Molnar. The patches in this series, all courtesy of Oleg (and some in turn based on work by Peter Zijlstra), are as follows: 1. Create rcu_sync infrastructure. 2. Simplify rcu_sync using new rcu_sync_ops structure. 3. Add CONFIG_PROVE_RCU checks. 4. Introduce rcu_sync_dtor(). 5. Make percpu_free_rwsem() after kzalloc() safe. 6. Make use of the rcu_sync infrastructure for percpu_rwsem. 7. Fix the percpu_rwsem comments outdated by rcu_sync. 8. Clean up the lockdep annotations in percpu_down_read(). 9. Change _wait_rcu_gp() to work around GCC bug 67055. Thanx, Paul ------------------------------------------------------------------------ b/include/linux/percpu-rwsem.h | 3 b/include/linux/rcu_sync.h | 161 +++++++++++++++++++----- b/include/linux/rcupdate.h | 11 - b/kernel/locking/percpu-rwsem.c | 85 ++++--------- b/kernel/rcu/Makefile | 2 b/kernel/rcu/sync.c | 259 ++++++++++++++++++++++++++++++++++++---- 6 files changed, 401 insertions(+), 120 deletions(-)