Received: by 10.223.185.116 with SMTP id b49csp3323376wrg; Sun, 25 Feb 2018 20:05:40 -0800 (PST) X-Google-Smtp-Source: AH8x225Gp0GzOwU67q9gmzT5M+j2USOUJC54WYYJyfndUuzfBPS2GFyRF8xpsEvkxOLVKlbKg2jP X-Received: by 10.98.61.73 with SMTP id k70mr9323178pfa.10.1519617939845; Sun, 25 Feb 2018 20:05:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519617939; cv=none; d=google.com; s=arc-20160816; b=liyMTfUgL9tUV3vuscOCY0uU5wRLXymzJ0P4Qxa44718WBcPJCctmxMvcXA9twQE8h pZwN3mlcoPz/y2jzama7Y/cuLGDQ+KJbEKlsMN9UnrKX7E51YL2kETpcoBeDAC+/z47u vNe+9mUqwjmKXcEr2ElsRF2zGBsm2oIeWCdmB60I191NSJwnn5S1BLFpzO+IRoP6g9Oq Z3pYSVTvzUxMow+QuL/BMAn7JYVh/3EVrIsRe6yW1hFX3j9iV+q0qk8g6aD5sUN0Wth2 q+1tWQwWiOpT5vZPQ+x5IItTKWAeD1tCiN5HfwpqKD/jRTlCTuWbGD/zCbOhjSVA/JyG 18SQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=AZF5pgwyfH+a29NTRxg/NmfovUOt9PScWTNTf+WI0co=; b=DplEHd4fIOZSjxqIH5pZyDnRHDs8JqeSxk9aePlU4PuJwy5pOvBbTBLpQRbrZ2knEt hA7DkG30sDyhVn8mUMxAc19V0KS1TpK6+udwjl0Ie92MGRIacfyESGBpXvQILPRpSlAh gvGtfsN7UvIMo7MT74pfWRyeI6NYfNqBCG0ECV/glzOqCabhPxPhYu5OWlT63OAdSN77 NYFTzVguj39e43uCmNhaJawM76EMqierPyCFpYDK97P3AmDN66pb0kl7RchMWVBlZwmd OspOE536e7s7aEAQh7d9Kom060Q3hiRMJ3id2HGvEMM6wONiwf4dOV3VKwDvXLnJoIEN XDwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=J3AV4X2L; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b9-v6si3305088pli.552.2018.02.25.20.05.24; Sun, 25 Feb 2018 20:05:39 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=J3AV4X2L; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752207AbeBZEEq (ORCPT + 99 others); Sun, 25 Feb 2018 23:04:46 -0500 Received: from mail-pl0-f65.google.com ([209.85.160.65]:47066 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752097AbeBZEEn (ORCPT ); Sun, 25 Feb 2018 23:04:43 -0500 Received: by mail-pl0-f65.google.com with SMTP id x19so8565736plr.13 for ; Sun, 25 Feb 2018 20:04:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=AZF5pgwyfH+a29NTRxg/NmfovUOt9PScWTNTf+WI0co=; b=J3AV4X2LrF0JLBZCBGMZDAWyIm+bWGUOPIwgk7io7tr55XBqA4jsPxbBSDNscJLVPQ 31K8P2MFS6SI3vCZTPlidJWTfGNPnXWA69QVD9+MEGBO0wU8TM/hx6WBGo8qUT1q3GnT znQjhy5DbVEjE6dqjW9qqHHXukzWPrWJ69HdI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=AZF5pgwyfH+a29NTRxg/NmfovUOt9PScWTNTf+WI0co=; b=ttOWgsd4AMszGpgfgFHLkk9j7AhgIh9lFDhERpncGk4LzYXNnHD8ZgeZmeHrh8DLqE LzH+lj15fmmWO25DWyXDcgHEksanl+cFxeWagwEECoy39rxlGdS2rrlMfoiw3l6WDmi1 LyvMY+LscTFuUnNFH8dEpKF3g1x3KixidGGtYRHgqyW+0hCQI3Og5ZUNV3Gp1kbjcM5Y /0RykgLioaKIFY59+wOPjWcs/QwPLUFoukjMdcmNTzLsx+F7HwyHqr693lkGv1Ao/fNC DjlQJz0iY2nvoW87xvPmIafytloxJnFaMRoEpvBYPqEfbfuUNwJ8HYQnqo9/FGucCi09 oGkw== X-Gm-Message-State: APf1xPBhc/6OmQG9Q9VeXCXs0l09J6LsgezDAx18e5WslQrL4kaTTYHj aHj4xJ/9lF6lDfWplJSGKEz+IA== X-Received: by 2002:a17:902:8e86:: with SMTP id bg6-v6mr9467210plb.113.1519617882209; Sun, 25 Feb 2018 20:04:42 -0800 (PST) Received: from localhost ([122.172.92.38]) by smtp.gmail.com with ESMTPSA id j14sm13822581pfn.113.2018.02.25.20.04.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 25 Feb 2018 20:04:41 -0800 (PST) Date: Mon, 26 Feb 2018 09:34:39 +0530 From: Viresh Kumar To: Patrick Bellasi Cc: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Ingo Molnar , Peter Zijlstra , "Rafael J . Wysocki" , Vincent Guittot , Paul Turner , Dietmar Eggemann , Morten Rasmussen , Juri Lelli , Todd Kjos , Joel Fernandes , Steve Muckle Subject: Re: [PATCH v5 3/4] sched/cpufreq_schedutil: use util_est for OPP selection Message-ID: <20180226040439.GH26947@vireshk-i7> References: <20180222170153.673-1-patrick.bellasi@arm.com> <20180222170153.673-4-patrick.bellasi@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180222170153.673-4-patrick.bellasi@arm.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 22-02-18, 17:01, Patrick Bellasi wrote: > When schedutil looks at the CPU utilization, the current PELT value for > that CPU is returned straight away. In certain scenarios this can have > undesired side effects and delays on frequency selection. > > For example, since the task utilization is decayed at wakeup time, a > long sleeping big task newly enqueued does not add immediately a > significant contribution to the target CPU. This introduces some latency > before schedutil will be able to detect the best frequency required by > that task. > > Moreover, the PELT signal build-up time is a function of the current > frequency, because of the scale invariant load tracking support. Thus, > starting from a lower frequency, the utilization build-up time will > increase even more and further delays the selection of the actual > frequency which better serves the task requirements. > > In order to reduce this kind of latencies, we integrate the usage > of the CPU's estimated utilization in the sugov_get_util function. > This allows to properly consider the expected utilization of a CPU which, > for example, has just got a big task running after a long sleep period. > Ultimately this allows to select the best frequency to run a task > right after its wake-up. > > Signed-off-by: Patrick Bellasi > Reviewed-by: Dietmar Eggemann > Acked-by: Rafael J. Wysocki > Cc: Ingo Molnar > Cc: Peter Zijlstra > Cc: Rafael J. Wysocki > Cc: Viresh Kumar > Cc: Paul Turner > Cc: Vincent Guittot > Cc: Morten Rasmussen > Cc: Dietmar Eggemann > Cc: linux-kernel@vger.kernel.org > Cc: linux-pm@vger.kernel.org > > --- > Changes in v5: > - add missing READ_ONCE() barrieres > - add acked-by Rafael tag > > Changes in v4: > - rebased on today's tip/sched/core (commit 460e8c3340a2) > - use util_est.enqueued for cfs_rq's util_est (Joel) > - simplify cpu_util_cfs() integration (Dietmar) > > Changes in v3: > - rebase on today's tip/sched/core (commit 07881166a892) > - moved into Juri's cpu_util_cfs(), which should also > address Rafael's suggestion to use a local variable. > > Changes in v2: > - rebase on top of v4.15-rc2 > - tested that overhauled PELT code does not affect the util_est > --- > kernel/sched/sched.h | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h > index dc6c8b5a24ad..ce33a5649bf2 100644 > --- a/kernel/sched/sched.h > +++ b/kernel/sched/sched.h > @@ -2122,7 +2122,12 @@ static inline unsigned long cpu_util_dl(struct rq *rq) > > static inline unsigned long cpu_util_cfs(struct rq *rq) > { > - return rq->cfs.avg.util_avg; > + if (!sched_feat(UTIL_EST)) > + return READ_ONCE(rq->cfs.avg.util_avg); > + > + return max_t(unsigned long, > + READ_ONCE(rq->cfs.avg.util_avg), > + READ_ONCE(rq->cfs.avg.util_est.enqueued)); > } Acked-by: Viresh Kumar -- viresh