From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932725AbcEYRtu (ORCPT ); Wed, 25 May 2016 13:49:50 -0400 Received: from e36.co.us.ibm.com ([32.97.110.154]:36424 "EHLO e36.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932471AbcEYRts (ORCPT ); Wed, 25 May 2016 13:49:48 -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: Wed, 25 May 2016 10:49:42 -0700 From: "Paul E. McKenney" To: peterz@infradead.org Cc: umgwanakikbuti@gmail.com, mingo@kernel.org, linux-kernel@vger.kernel.org, bsegall@google.com, matt@codeblueprint.co.uk, morten.rasmussen@arm.com, pjt@google.com, tglx@linutronix.de, byungchul.park@lge.com, ahh@google.com Subject: Re: [patch] sched/fair: Move se->vruntime normalization state into struct sched_entity Message-ID: <20160525174942.GA5716@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <20160524170417.GA11670@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160524170417.GA11670@linux.vnet.ibm.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16052517-0021-0000-0000-00005226FD2D X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 24, 2016 at 10:04:17AM -0700, Paul E. McKenney wrote: > On Mon, May 23, 2016 at 2:19 AM +0200, Peter Zijlstra wrote: > > On Sun, May 22, 2016 at 09:00:01AM +0200, Mike Galbraith wrote: > > > On Sat, 2016-05-21 at 21:00 +0200, Mike Galbraith wrote: > > > > On Sat, 2016-05-21 at 16:04 +0200, Mike Galbraith wrote: > > > > > > > > > Wakees that were not migrated/normalized eat an unwanted min_vruntime, > > > > > and likely take a size XXL latency hit. Big box running master bled > > > > > profusely under heavy load until I turned TTWU_QUEUE off. > > > > > > May as well make it official and against master.today. Fly or die > > > little patchlet. > > > > > > sched/fair: Move se->vruntime normalization state into struct sched_entity > > > > Does this work? > > This gets rid of the additional lost wakeups introduced during the > merge window, thank you! > > The pre-existing low-probability lost wakeups still persist, sad to say > Can't have everything, I guess. However, their behavior has changed. Previously, the TREE03 rcutorture scenario had the most stalls. Now TREE07 appears to be more likely. The corresponding Kconfig fragments are shown below, in case it gives someone ideas about where the problem might be. My current guess, based on insufficient data, is that TREE07 has about an 80-90% chance of seeing a lost wakeup during a two-hour run. Thanx, Paul ------------------------------------------------------------------------ TREE03 ------------------------------------------------------------------------ CONFIG_SMP=y CONFIG_NR_CPUS=16 CONFIG_PREEMPT_NONE=n CONFIG_PREEMPT_VOLUNTARY=n CONFIG_PREEMPT=y #CHECK#CONFIG_PREEMPT_RCU=y CONFIG_HZ_PERIODIC=y CONFIG_NO_HZ_IDLE=n CONFIG_NO_HZ_FULL=n CONFIG_RCU_TRACE=y CONFIG_HOTPLUG_CPU=y CONFIG_RCU_FANOUT=2 CONFIG_RCU_FANOUT_LEAF=2 CONFIG_RCU_NOCB_CPU=n CONFIG_DEBUG_LOCK_ALLOC=n CONFIG_RCU_BOOST=y CONFIG_RCU_KTHREAD_PRIO=2 CONFIG_DEBUG_OBJECTS_RCU_HEAD=n CONFIG_RCU_EXPERT=y ------------------------------------------------------------------------ TREE07 ------------------------------------------------------------------------ CONFIG_SMP=y CONFIG_NR_CPUS=16 CONFIG_CPUMASK_OFFSTACK=y CONFIG_PREEMPT_NONE=y CONFIG_PREEMPT_VOLUNTARY=n CONFIG_PREEMPT=n #CHECK#CONFIG_TREE_RCU=y CONFIG_HZ_PERIODIC=n CONFIG_NO_HZ_IDLE=n CONFIG_NO_HZ_FULL=y CONFIG_NO_HZ_FULL_ALL=n CONFIG_NO_HZ_FULL_SYSIDLE=y CONFIG_RCU_FAST_NO_HZ=n CONFIG_RCU_TRACE=y CONFIG_HOTPLUG_CPU=y CONFIG_RCU_FANOUT=2 CONFIG_RCU_FANOUT_LEAF=2 CONFIG_RCU_NOCB_CPU=n CONFIG_DEBUG_LOCK_ALLOC=n CONFIG_DEBUG_OBJECTS_RCU_HEAD=n CONFIG_RCU_EXPERT=y