From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753405AbcEXHOe (ORCPT ); Tue, 24 May 2016 03:14:34 -0400 Received: from mga04.intel.com ([192.55.52.120]:27432 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751757AbcEXHOc (ORCPT ); Tue, 24 May 2016 03:14:32 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,359,1459839600"; d="scan'208";a="983434725" Date: Tue, 24 May 2016 07:17:00 +0800 From: Yuyang Du To: Mike Galbraith Cc: Morten Rasmussen , peterz@infradead.org, mingo@redhat.com, dietmar.eggemann@arm.com, vincent.guittot@linaro.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 03/16] sched/fair: Disregard idle task wakee_flips in wake_wide Message-ID: <20160523231659.GE18670@intel.com> References: <1464001138-25063-1-git-send-email-morten.rasmussen@arm.com> <1464001138-25063-4-git-send-email-morten.rasmussen@arm.com> <1464001927.4537.118.camel@suse.de> <20160523120010.GB27946@e105550-lin.cambridge.arm.com> <1464008446.4537.130.camel@suse.de> <20160523141035.GC27946@e105550-lin.cambridge.arm.com> <1464018140.3618.8.camel@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1464018140.3618.8.camel@suse.de> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 23, 2016 at 05:42:20PM +0200, Mike Galbraith wrote: > On Mon, 2016-05-23 at 15:10 +0100, Morten Rasmussen wrote: > > On Mon, May 23, 2016 at 03:00:46PM +0200, Mike Galbraith wrote: > > > On Mon, 2016-05-23 at 13:00 +0100, Morten Rasmussen wrote: > > > > > > > The problem then seems to be distinguishing truly idle and busy doing > > > > interrupts. The issue that I observe is that wake_wide() likes pushing > > > > tasks around in lightly scenarios which isn't desirable for power > > > > management. Selecting the same cpu again may potentially let others > > > > reach deeper C-state. > > > > > > > > With that in mind I will if I can do better. Suggestions are welcome :-) > > > > > > None here. For big boxen that are highly idle, you'd likely want to > > > shut down nodes and consolidate load, but otoh, all that slows response > > > to burst, which I hate. I prefer race to idle, let power gating do its > > > job. If I had a server farm with enough capacity vs load variability > > > to worry about, I suspect I'd become highly interested in routing. > > > > I don't disagree for systems of that scale, but at the other end of the > > spectrum it is a single SoC we are trying squeeze the best possible > > mileage out of. That implies optimizing for power gating to reach deeper > > C-states when possible by consolidating idle-time and grouping > > idle cpus. Migrating task unnecessarily isn't helping us in achieving > > that, unfortunately :-( > > Yup, the goals are pretty much mutually exclusive. For your goal, you > want more of an allocator like behavior, where stacking of tasks is bad > only once there's too much overlap (ie latency, defining is hard), and > allocation always has the same order (expand rightward or such for the > general case, adding little/big complexity for arm). For mine, current > behavior is good, avoid stacking like the plague. I'd be happy to have a switch to either one goal.