Received: by 2002:a05:7412:251c:b0:e2:908c:2ebd with SMTP id w28csp2817666rda; Wed, 25 Oct 2023 13:13:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGDYKyDt9k0YPb2aw84u6fVWP5xZysPOFVE/uebtqxBu0VXOSNOOd3HSarOPDdbF4zGIFge X-Received: by 2002:a05:6358:7295:b0:168:cdee:155e with SMTP id w21-20020a056358729500b00168cdee155emr12983922rwf.3.1698264814897; Wed, 25 Oct 2023 13:13:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698264814; cv=none; d=google.com; s=arc-20160816; b=xejUeGUfQPCHqDnhm7bt70mDsMOzSLSQ0aobYeRZ5sFrvUzlBv1oxWop+DEIED6YE/ 5MCFsLx2ypTuthNZwFhsy5BbxkGSmsrghLrTlokoGQSjoEq5ce4aQZT9Aw8407wCk4vo 9RJiwd9V64EmEGbu8+0N8+LCbM43gVsHAnBD6Cfse1zzjQHJZMjxrNZ84T48jTlxD8Pw xw7MKjoZnywe/g5Cr46RpjdxAGSY5PG+a9HTOnHGB61XUYrUMtcnL+HAVdbQIbUi9cN0 oc64R0JBntg0mqlt6270eSqJIab8IKLXqnuD7BVNnFbATxdroiZ4WICH7Veaxh+5KbXK 2gjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id; bh=5MjA1Jx67gtjGZ/q/1DALqmh8suVLZ2ffEk8ZIvuD84=; fh=blzN4N+sGeypGA6Sb6fT/gEFy0CouQwE1WjZ+1oEYfU=; b=IzzL998yRqcILKcKfs450/rMvA3uFsWeJp/oFK0YvpJAAal6YpUo3nat0x6gDTAnO1 wCyeqz+HIaJnHQZKw8pvTxAPsy3KHsV7OfJXXgxk9RJkxJj2b7+aNONXeew3tk9QK/ap kVA1z3NK+dxznSR8j5PsTFIPibR8r9VyxQNG9wms12wITU8S4gvrNoxXQnK8OwBJ5NMz sLfvMokkOU6LS2X6+F/+ORBMZOH9usBw1cjxo+98LQoT+UxHJV+kdu3p267JyW6VwHSS lO9dhuXMnnrYCeyh+cjPbMrp6zlYgnisKBtfskq6Jj1c2Pa5nryC40rh8SujvVxa6mUb ykTg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id i12-20020a81d50c000000b0058c8abb3664si13510532ywj.508.2023.10.25.13.13.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Oct 2023 13:13:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id A0256817C3DD; Wed, 25 Oct 2023 13:13:30 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234337AbjJYUNX (ORCPT + 99 others); Wed, 25 Oct 2023 16:13:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35784 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229441AbjJYUNW (ORCPT ); Wed, 25 Oct 2023 16:13:22 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 975BEDC; Wed, 25 Oct 2023 13:13:19 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E9CF62F4; Wed, 25 Oct 2023 13:14:00 -0700 (PDT) Received: from [192.168.178.6] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C9A543F738; Wed, 25 Oct 2023 13:13:13 -0700 (PDT) Message-ID: Date: Wed, 25 Oct 2023 22:13:12 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 3/6] cpufreq/schedutil: use a fixed reference frequency To: Vincent Guittot , linux@armlinux.org.uk, catalin.marinas@arm.com, will@kernel.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, sudeep.holla@arm.com, gregkh@linuxfoundation.org, rafael@kernel.org, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, viresh.kumar@linaro.org, lenb@kernel.org, robert.moore@intel.com, lukasz.luba@arm.com, ionela.voinescu@arm.com, pierre.gondois@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org, acpica-devel@lists.linuxfoundation.org Cc: conor.dooley@microchip.com, suagrfillet@gmail.com, ajones@ventanamicro.com, lftan@kernel.org References: <20231018162540.667646-1-vincent.guittot@linaro.org> <20231018162540.667646-4-vincent.guittot@linaro.org> Content-Language: en-US From: Dietmar Eggemann In-Reply-To: <20231018162540.667646-4-vincent.guittot@linaro.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Wed, 25 Oct 2023 13:13:30 -0700 (PDT) On 18/10/2023 18:25, Vincent Guittot wrote: > cpuinfo.max_freq can change at runtime because of boost as an example. This > implies that the value could be different than the one that has been > used when computing the capacity of a CPU. > > The new arch_scale_freq_ref() returns a fixed and coherent reference > frequency that can be used when computing a frequency based on utilization. > > Use this arch_scale_freq_ref() when available and fallback to > policy otherwise. > > Signed-off-by: Vincent Guittot > Reviewed-by: Lukasz Luba > Tested-by: Lukasz Luba > > --- > kernel/sched/cpufreq_schedutil.c | 26 ++++++++++++++++++++++++-- > 1 file changed, 24 insertions(+), 2 deletions(-) > > diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c > index 458d359f5991..6e4030482ae8 100644 > --- a/kernel/sched/cpufreq_schedutil.c > +++ b/kernel/sched/cpufreq_schedutil.c > @@ -114,6 +114,28 @@ static void sugov_deferred_update(struct sugov_policy *sg_policy) > } > } > > +/** > + * cpufreq_get_capacity_ref_freq - get the reference frequency of a given CPU that s/cpufreq_get_capacity_ref_freq/get_capacity_ref_freq s/of a given CPU/for a given cpufreq policy ? (of which the CPU managing it is used for the arch_scale_freq_ref() call in the function. > + * has been used to correlate frequency and compute capacity. > + * @policy: the cpufreq policy of the CPU in question. > + * @use_current: Fallback to current freq instead of policy->cpuinfo.max_freq. Looks like use_current does not exists as a parameter. > + * > + * Return: the reference CPU frequency to compute a capacity. > + */ > +static __always_inline > +unsigned long get_capacity_ref_freq(struct cpufreq_policy *policy) > +{ > + unsigned int freq = arch_scale_freq_ref(policy->cpu); > + > + if (freq) > + return freq; > + > + if (arch_scale_freq_invariant()) > + return policy->cpuinfo.max_freq; > + > + return policy->cur; > +} Reviewed-by: Dietmar Eggemann