Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755527AbdCaJDo (ORCPT ); Fri, 31 Mar 2017 05:03:44 -0400 Received: from mail-oi0-f66.google.com ([209.85.218.66]:35996 "EHLO mail-oi0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754050AbdCaJDi (ORCPT ); Fri, 31 Mar 2017 05:03:38 -0400 MIME-Version: 1.0 In-Reply-To: <20170331073126.GK19929@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> From: "Rafael J. Wysocki" Date: Fri, 31 Mar 2017 11:03:36 +0200 X-Google-Sender-Auth: WJEEfiBpDwjptx-xbOf4XAgK0Pw Message-ID: Subject: Re: [RFD PATCH 4/5] sched/cpufreq_schedutil: always consider all CPUs when deciding next freq To: Juri Lelli Cc: "Rafael J. Wysocki" , "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 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1858 Lines: 48 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?