From: Ionela Voinescu <ionela.voinescu@arm.com> To: rjw@rjwysocki.net, viresh.kumar@linaro.org, dietmar.eggemann@arm.com, catalin.marinas@arm.com, sudeep.holla@arm.com, will@kernel.org, linux@armlinux.org.uk Cc: mingo@redhat.com, peterz@infradead.org, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, ionela.voinescu@arm.com Subject: [PATCH v2 3/7] arch_topology: disable frequency invariance for CONFIG_BL_SWITCHER Date: Wed, 22 Jul 2020 10:37:28 +0100 [thread overview] Message-ID: <20200722093732.14297-4-ionela.voinescu@arm.com> (raw) In-Reply-To: <20200722093732.14297-1-ionela.voinescu@arm.com> big.LITTLE switching complicates the setting of a correct cpufreq-based frequency invariance scale factor due to (as observed in drivers/cpufreq/vexpress-spc-cpufreq.c): - Incorrect current and maximum frequencies as a result of the exposure of a virtual frequency table to the cpufreq core, - Missed updates as a result of asynchronous frequency adjustments caused by frequency changes in other CPU pairs. Given that its functionality is atypical in regards to frequency invariance and this is an old technology, disable frequency invariance for when big.LITTLE switching is configured in to prevent incorrect scale setting. Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com> Suggested-by: Dietmar Eggemann <dietmar.eggemann@arm.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: Rafael J. Wysocki <rjw@rjwysocki.net> --- drivers/base/arch_topology.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c index 4d0a0038b476..708768f528dc 100644 --- a/drivers/base/arch_topology.c +++ b/drivers/base/arch_topology.c @@ -27,6 +27,7 @@ __weak bool arch_freq_counters_available(struct cpumask *cpus) } DEFINE_PER_CPU(unsigned long, freq_scale) = SCHED_CAPACITY_SCALE; +#ifndef CONFIG_BL_SWITCHER void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq, unsigned long max_freq) { @@ -46,6 +47,7 @@ void arch_set_freq_scale(struct cpumask *cpus, unsigned long cur_freq, for_each_cpu(i, cpus) per_cpu(freq_scale, i) = scale; } +#endif DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE; -- 2.17.1
next prev parent reply other threads:[~2020-07-22 9:38 UTC|newest] Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-22 9:37 [PATCH v2 0/7] cpufreq: improve frequency invariance support Ionela Voinescu 2020-07-22 9:37 ` [PATCH v2 1/7] cpufreq: move invariance setter calls in cpufreq core Ionela Voinescu 2020-07-27 13:48 ` Rafael J. Wysocki 2020-07-29 9:03 ` Ionela Voinescu 2020-07-30 3:41 ` Viresh Kumar 2020-08-03 13:26 ` Ionela Voinescu 2020-08-03 13:46 ` Rafael J. Wysocki 2020-08-03 14:16 ` Ionela Voinescu 2020-07-22 9:37 ` [PATCH v2 2/7] cpufreq: set invariance scale factor on transition end Ionela Voinescu 2020-07-27 13:52 ` Rafael J. Wysocki 2020-07-29 9:14 ` Ionela Voinescu 2020-07-30 4:13 ` Viresh Kumar 2020-08-03 13:58 ` Ionela Voinescu 2020-08-04 6:26 ` Viresh Kumar 2020-08-05 10:35 ` Ionela Voinescu 2020-07-22 9:37 ` Ionela Voinescu [this message] 2020-07-30 4:24 ` [PATCH v2 3/7] arch_topology: disable frequency invariance for CONFIG_BL_SWITCHER Viresh Kumar 2020-07-30 10:29 ` Dietmar Eggemann 2020-07-31 15:48 ` Sudeep Holla 2020-08-03 14:39 ` Ionela Voinescu 2020-08-04 6:30 ` Viresh Kumar 2020-08-10 9:01 ` Ionela Voinescu 2020-07-22 9:37 ` [PATCH v2 4/7] cpufreq: report whether cpufreq supports Frequency Invariance (FI) Ionela Voinescu 2020-07-27 14:02 ` Rafael J. Wysocki 2020-07-29 14:39 ` Ionela Voinescu 2020-07-30 4:43 ` Viresh Kumar 2020-08-03 15:24 ` Ionela Voinescu 2020-08-04 6:46 ` Viresh Kumar 2020-08-05 10:35 ` Ionela Voinescu 2020-07-22 9:37 ` [PATCH v2 5/7] arch_topology,cpufreq,sched/core: constify arch_* cpumasks Ionela Voinescu 2020-07-30 11:43 ` Catalin Marinas 2020-07-22 9:37 ` [PATCH v2 6/7] arch_topology,arm,arm64: define arch_scale_freq_invariant() Ionela Voinescu 2020-07-30 11:44 ` Catalin Marinas 2020-07-22 9:37 ` [PATCH v2 7/7] cpufreq: make schedutil the default for arm and arm64 Ionela Voinescu 2020-07-30 4:54 ` Viresh Kumar
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200722093732.14297-4-ionela.voinescu@arm.com \ --to=ionela.voinescu@arm.com \ --cc=catalin.marinas@arm.com \ --cc=dietmar.eggemann@arm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=mingo@redhat.com \ --cc=peterz@infradead.org \ --cc=rjw@rjwysocki.net \ --cc=sudeep.holla@arm.com \ --cc=viresh.kumar@linaro.org \ --cc=will@kernel.org \ --subject='Re: [PATCH v2 3/7] arch_topology: disable frequency invariance for CONFIG_BL_SWITCHER' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).