Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932908AbdCaJQk (ORCPT ); Fri, 31 Mar 2017 05:16:40 -0400 Received: from foss.arm.com ([217.140.101.70]:56894 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932554AbdCaJQh (ORCPT ); Fri, 31 Mar 2017 05:16:37 -0400 Date: Fri, 31 Mar 2017 10:16:30 +0100 From: Juri Lelli To: "Rafael J. Wysocki" Cc: "Rafael J. Wysocki" , Peter Zijlstra , Ingo Molnar , Viresh Kumar , Linux Kernel Mailing List , Linux PM , Thomas Gleixner , Vincent Guittot , Steven Rostedt , Luca Abeni , claudio@evidence.eu.com, tommaso.cucinotta@santannapisa.it, bristot@redhat.com, mathieu.poirier@linaro.org, Todd Kjos , Joel Fernandes , Andres Oportus , Morten Rasmussen , Dietmar Eggemann , Patrick Bellasi , Ingo Molnar Subject: Re: [RFD PATCH 4/5] sched/cpufreq_schedutil: always consider all CPUs when deciding next freq Message-ID: <20170331091630.GP19929@e106622-lin> References: <20170324140900.7334-1-juri.lelli@arm.com> <20170324140900.7334-5-juri.lelli@arm.com> <2348394.hDdCk9fbgK@aspire.rjw.lan> <20170330085805.GF18960@e106622-lin> <20170331073126.GK19929@e106622-lin> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 Content-Length: 2089 Lines: 55 On 31/03/17 11:03, Rafael J. Wysocki wrote: > On Fri, Mar 31, 2017 at 9:31 AM, Juri Lelli wrote: > > On 30/03/17 22:13, Rafael J. Wysocki wrote: > >> On Thu, Mar 30, 2017 at 10:58 AM, Juri Lelli wrote: > >> > Hi, > >> > >> Hi, > >> > >> > On 30/03/17 00:41, Rafael J. Wysocki wrote: > >> >> On Friday, March 24, 2017 02:08:59 PM Juri Lelli wrote: > >> >> > No assumption can be made upon the rate at which frequency updates get > >> >> > triggered, as there are scheduling policies (like SCHED_DEADLINE) which > >> >> > don't trigger them so frequently. > >> >> > > >> >> > Remove such assumption from the code. > >> >> > >> >> But the util/max values for idle CPUs may be stale, no? > >> >> > >> > > >> > Right, that might be a problem. A proper solution I think would be to > >> > remotely update such values for idle CPUs, and I believe Vincent is > >> > working on a patch for that. > >> > > >> > As mid-term workarounds, changing a bit the current one, come to my > >> > mind: > >> > > >> > - consider TICK_NSEC (continue) only when SCHED_CPUFREQ_DL is not set > >> > - remove CFS contribution (without triggering a freq update) when a CPU > >> > enters IDLE; this might not work well, though, as we probably want > >> > to keep in blocked util contribution for a bit > >> > > >> > What you think is the way to go? > >> > >> Well, do we want SCHED_DEADLINE util contribution to be there even for > >> idle CPUs? > >> > > > > DEADLINE util contribution is removed, even if the CPU is idle, by the > > reclaiming mechanism when we know (applying GRUB algorithm rules [1]) > > that it can't be used anymore by a task (roughly speaking). So, we > > shouldn't have this problem in the DEADLINE case. > > > > [1] https://marc.info/?l=linux-kernel&m=149029880524038 > > OK > > Why don't you store the contributions from DL and CFS separately, then > (say, as util_dl, util_cfs, respectively) and only discard the CFS one > if delta_ns > TICK_NSEC? Sure, this should work as well. I'll try this approach for next version. Thanks, - Juri