From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932104AbbFXPkY (ORCPT ); Wed, 24 Jun 2015 11:40:24 -0400 Received: from casper.infradead.org ([85.118.1.10]:38388 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753066AbbFXPkR (ORCPT ); Wed, 24 Jun 2015 11:40:17 -0400 Date: Wed, 24 Jun 2015 17:40:10 +0200 From: Peter Zijlstra To: "Paul E. McKenney" Cc: Oleg Nesterov , tj@kernel.org, mingo@redhat.com, linux-kernel@vger.kernel.org, der.herr@hofr.at, dave@stgolabs.net, riel@redhat.com, viro@ZenIV.linux.org.uk, torvalds@linux-foundation.org Subject: Re: [RFC][PATCH 12/13] stop_machine: Remove lglock Message-ID: <20150624154010.GS19282@twins.programming.kicks-ass.net> References: <20150623105548.GE18673@twins.programming.kicks-ass.net> <20150623112041.GF18673@twins.programming.kicks-ass.net> <20150623130826.GG18673@twins.programming.kicks-ass.net> <20150623173038.GJ3892@linux.vnet.ibm.com> <20150623180411.GF3644@twins.programming.kicks-ass.net> <20150623182626.GO3892@linux.vnet.ibm.com> <20150624073503.GH3644@twins.programming.kicks-ass.net> <20150624145030.GB3717@linux.vnet.ibm.com> <20150624150151.GN3644@twins.programming.kicks-ass.net> <20150624152705.GE3717@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150624152705.GE3717@linux.vnet.ibm.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 24, 2015 at 08:27:19AM -0700, Paul E. McKenney wrote: > > The thing is, if we're stalled on a stop_one_cpu() call, the sync_rcu() > > is equally stalled. The sync_rcu() cannot wait more efficient than we're > > already waiting either. > > Ah, but synchronize_rcu() doesn't force waiting on more than one extra > grace period. With strictly queued mutex, you can end up waiting on > several. But you could fix that by replacing/augmenting the expedited ticket with gpnum/copmleted as used in get_state_synchronize_rcu()/cond_synchronize_rcu().