From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S938526AbdD0GLy (ORCPT ); Thu, 27 Apr 2017 02:11:54 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:33880 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932866AbdD0GLo (ORCPT ); Thu, 27 Apr 2017 02:11:44 -0400 Date: Thu, 27 Apr 2017 08:11:40 +0200 From: Ingo Molnar To: "Paul E. McKenney" Cc: linux-kernel@vger.kernel.org, efault@gmx.de, Thomas Gleixner , Peter Zijlstra Subject: Re: [GIT PULL rcu/urgent] Auto-expedite initial SRCU grace periods Message-ID: <20170427061140.rmypu743lm6cr6fk@gmail.com> References: <20170427034242.GA26501@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170427034242.GA26501@linux.vnet.ibm.com> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Paul E. McKenney wrote: > Hello, Ingo, > > This series greatly reduces the performance degradation of Tree SRCU > on a CPU-hotplug stress test. The effect was not subtle: Mike Galbraith > measured Classic SRCU at 55 seconds and Tree SRCU at more than 16 -minutes- > for this test. Mike collected ftrace data that showed that Classic SRCU > was auto-expediting invocations of synchronize_srcu() that found SRCU > completely idle. This series therefore adds this auto-expedite capability > to Tree SRCU, bringing the performance shortfall to less than ten seconds, > which is a great improvement over the initial shortfall of 15 minutes. > > I will continue tuning, but this improvement seemed worth a pull request, > in order to get the base solution some more test time in -tip. Note that > two of the commits are not strictly necessary, but they are reasonably > simple, they conflict with the three main commits, and the risk of > disentangling them seemed to greatly exceed the risk of pushing them in. > Of course, if you believe that they really should be delayed, please let > me know and I can disentangle them. They are: (1) c7e88067c1ae ("srcu: > Exact tracking of srcu_data structures containing callbacks") and > (2) 7f6733c3c648 ("srcu: Make rcutorture writer stalls print SRCU GP > state"). > > These commits are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/urgent > > for you to fetch changes up to 22607d66bbc3e81140d3bcf08894f4378eb36428: > > srcu: Specify auto-expedite holdoff time (2017-04-26 16:32:17 -0700) > > ---------------------------------------------------------------- > Paul E. McKenney (5): > srcu: Exact tracking of srcu_data structures containing callbacks > srcu: Make rcutorture writer stalls print SRCU GP state > srcu: Expedited grace periods with reduced memory contention > srcu: Expedite first synchronize_srcu() when idle > srcu: Specify auto-expedite holdoff time > > Documentation/admin-guide/kernel-parameters.txt | 8 + > include/linux/srcuclassic.h | 14 ++ > include/linux/srcutiny.h | 12 ++ > include/linux/srcutree.h | 13 +- > kernel/rcu/rcutorture.c | 8 +- > kernel/rcu/srcutree.c | 242 ++++++++++++++++++++---- > kernel/rcu/tree.c | 12 +- > 7 files changed, 255 insertions(+), 54 deletions(-) Pulled, thanks a lot Paul! Ingo