Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754332AbdDLNe7 (ORCPT ); Wed, 12 Apr 2017 09:34:59 -0400 Received: from foss.arm.com ([217.140.101.70]:44348 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752644AbdDLNey (ORCPT ); Wed, 12 Apr 2017 09:34:54 -0400 Date: Wed, 12 Apr 2017 14:34:48 +0100 From: Patrick Bellasi To: Peter Zijlstra Cc: Tejun Heo , linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Ingo Molnar , "Rafael J . Wysocki" , Paul Turner , Vincent Guittot , John Stultz , Todd Kjos , Tim Murray , Andres Oportus , Joel Fernandes , Juri Lelli , Chris Redpath , Morten Rasmussen , Dietmar Eggemann Subject: Re: [RFC v3 0/5] Add capacity capping support to the CPU controller Message-ID: <20170412133448.GL29455@e110439-lin> References: <1488292722-19410-1-git-send-email-patrick.bellasi@arm.com> <20170320145131.GA3623@htj.duckdns.org> <20170320172233.GA28391@e110439-lin> <20170410073622.2y6tnpcd2ssuoztz@hirez.programming.kicks-ass.net> <20170411175833.GI29455@e110439-lin> <20170412121514.GE3093@worktop> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170412121514.GE3093@worktop> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1343 Lines: 38 On 12-Apr 14:15, Peter Zijlstra wrote: > On Tue, Apr 11, 2017 at 06:58:33PM +0100, Patrick Bellasi wrote: > > We should consider also that at the CPUFreq side we already expose > > knobs like scaling_{min,max}_freq which are much more platform > > dependant than capacity. > > So I've always objected to these knobs. > > That said; they are a pre-existing user interface so changing them isn't > really feasible much. > > But at the very least we should integrate them properly. Which for > schedutil would mean they have to directly modify the relevant CPU > capacity values. Is this currently done? (I think not.) AFAICS they are clamping the policy decisions, thus the frequency domain... which can be more then one CPU on ARM platforms. When you say you would like them to "directly modify the relevant CPU capacity values" I really see this as exactly what we do with capacity_{min,max}. These two capacity clamping values are per task, and thus (by definition) per CPU. Moreover, they have the interesting property to be "aggregated" in such a way that, in this configuration: TaskA: capacity_max: 20% TaskB: capacity_max: 100% when both tasks are RUNNABLE on the same CPU, that CPU is not capped until TaskB leave the CPU. Do you think such a kind of feature can be useful? -- #include Patrick Bellasi