From patchwork Tue Sep 1 20:55:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ionela Voinescu X-Patchwork-Id: 11749479 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 98CCC138A for ; Tue, 1 Sep 2020 20:59:20 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6EB7B2078B for ; Tue, 1 Sep 2020 20:59:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="W5BxA7it" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6EB7B2078B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Owner; bh=+bKB02S/c4rI+HWUA/6DYLWIgxpKLvT3p2B7YaSyCjo=; b=W5BxA7itDTsc7nYvvul9bIXZIR wq9OSGTanMwF1hPHew9pE9XAQ/u9o+NDTqyrqFIeCXfqANcK/mUxqVsAmhK3HBHyQuSA/c4AfVG9R hxJznntk7Q8cDhR11ObqGjpQZIlkMF2fOpUDT/maVPlvmDneqoxfKRm0XaMveVWRgN3BkPMfDsdCz cgUBTrmAbB+vYuMnihajTHeDK6PY9BYe4tswSTYv+06gTp0cDIyZkEXDqwgkW9A8x3i8UpGKEZCif i89o4Isv7GgtsxEvauCasVQ64+j44jH875cqpxqZSf89l/iwt95GGNNKF6ZUjnHw3DGCtduc0oMBZ Ilg2LxAA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kDDKu-00022F-Jl; Tue, 01 Sep 2020 20:57:00 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kDDKo-000209-VH for linux-arm-kernel@lists.infradead.org; Tue, 01 Sep 2020 20:56:56 +0000 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 E8C551063; Tue, 1 Sep 2020 13:56:45 -0700 (PDT) Received: from e108754-lin.cambridge.arm.com (e108754-lin.cambridge.arm.com [10.1.199.49]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 7DE163F66F; Tue, 1 Sep 2020 13:56:44 -0700 (PDT) From: Ionela Voinescu To: rjw@rjwysocki.net, viresh.kumar@linaro.org, dietmar.eggemann@arm.com, catalin.marinas@arm.com, sudeep.holla@arm.com, will@kernel.org, valentin.schneider@arm.com Subject: [PATCH v5 0/5] cpufreq: improve frequency invariance support Date: Tue, 1 Sep 2020 21:55:44 +0100 Message-Id: <20200901205549.30096-1-ionela.voinescu@arm.com> X-Mailer: git-send-email 2.17.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200901_165655_369106_1C90F422 X-CRM114-Status: GOOD ( 14.49 ) X-Spam-Score: -2.3 (--) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-2.3 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [217.140.110.172 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ionela.voinescu@arm.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Hi, v4->v5 - I've applied Viresh's remaining suggestion and Acked-by/s - v4 can be found at [4] - v5 is based on linux-next 20200828 Thank you, Ionela. --- v3->v4: - addressing Viresh's comments on patches 1/5 and 3/5, and - with his Acked-by applied for the rest of the patches; - v3 can be found at [3], and - this is based on linux-next 20200827. v2->v3 - v2 can be found at [2] - 1/5 was introduced to check input frequencies to arch_set_freq_scale() as recommended by Rafael - The previous 2/7 was squashed into 1/7 - now 2/5, with additions to the changelog as suggested by Rafael. - The previous 3/7 (BL_SWITCHER handling) was dropped to be handled in a separate patch. This does not change the current functionality. - The previous 4/7 - now 3/5 is simplified as suggested by Viresh. - 3/5 - cpufreq_supports_freq_invariance() replaces cpufreq_sets_freq_scale(). The meaning chosen for cpufreq_supports_freq_invariance() is whether it can set the frequency scale factor, not whether arch_set_freq_scale() actually does. - 4/5 - Change after Catalin's Ack: The changes to arch_set_thermal_pressure() were dropped as they were done in a separate patch. Therefore this patch now has a subset of the previous changes at 5/7 - 5/5 - Change after Catalin's Ack: s/cpufreq_sets_freq_scale/cpufreq_supports_freq_invariance - v3 is based on linux-next 20200814 v1 -> v2: - v1 can be found at [1] - No cpufreq flags are introduced - Previous patches 2/8 and 3/8 were squashed in this series under 1/7, to ensure bisection. - 2/7 was introduced as a proposal for Viresh's suggestion to use policy->cur in the call to arch_set_freq_scale() and is extended to support drivers that implement the target() callback as well - Additional commit message changes are added to 1/7 and 2/7, to clarify that the definition of arch_set_freq_scale() will filter settings of the scale factor, if unwanted - 3/7 disables setting of the scale factor for CONFIG_BL_SWITCHER, as Dietmar suggested - Small change introduced in 4/7 to disable cpufreq-based frequency invariance for the users of the default arch_set_freq_scale() call which will not actually set a scale factor - build issue solved (reported by 0day test) - v2 is based on linux-next 20200716 - all functional tests in v1 were repeated for v2 [1] https://lore.kernel.org/lkml/20200701090751.7543-1-ionela.voinescu@arm.com/ [2] https://lore.kernel.org/lkml/20200722093732.14297-1-ionela.voinescu@arm.com/ [3] https://lore.kernel.org/lkml/20200824210252.27486-1-ionela.voinescu@arm.com/ [4] https://lore.kernel.org/lkml/20200828173303.11939-1-ionela.voinescu@arm.com/ Ionela Voinescu (3): arch_topology: validate input frequencies to arch_set_freq_scale() cpufreq: move invariance setter calls in cpufreq core cpufreq: report whether cpufreq supports Frequency Invariance (FI) Valentin Schneider (2): arch_topology, cpufreq: constify arch_* cpumasks arch_topology, arm, arm64: define arch_scale_freq_invariant() arch/arm/include/asm/topology.h | 1 + arch/arm64/include/asm/topology.h | 1 + arch/arm64/kernel/topology.c | 9 ++++++- drivers/base/arch_topology.c | 13 ++++++++-- drivers/cpufreq/cpufreq-dt.c | 10 +------- drivers/cpufreq/cpufreq.c | 33 +++++++++++++++++++++++--- drivers/cpufreq/qcom-cpufreq-hw.c | 9 +------ drivers/cpufreq/scmi-cpufreq.c | 12 ++-------- drivers/cpufreq/scpi-cpufreq.c | 6 +---- drivers/cpufreq/vexpress-spc-cpufreq.c | 12 ++-------- include/linux/arch_topology.h | 4 +++- include/linux/cpufreq.h | 8 ++++++- 12 files changed, 68 insertions(+), 50 deletions(-) base-commit: b36c969764ab12faebb74711c942fa3e6eaf1e96