* [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers
@ 2018-02-26 5:08 Viresh Kumar
2018-02-26 5:08 ` [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice Viresh Kumar
2018-03-09 10:00 ` [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
0 siblings, 2 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-02-26 5:08 UTC (permalink / raw)
To: Rafael Wysocki, bcm-kernel-feedback-list, Benjamin Herrenschmidt,
Brian Norris, Florian Fainelli, Gregory Fong, Jonathan Hunter,
Krzysztof Kozlowski, Kukjin Kim, Markus Mayer, Matthias Brugger,
Michael Ellerman, Paul Mackerras, Sudeep Holla, Thierry Reding
Cc: Viresh Kumar, linux-pm, Vincent Guittot, linux-arm-kernel,
linux-mediatek, linuxppc-dev, linux-samsung-soc, linux-tegra
Hi,
A patchset [1] sent last week already updated the cpufreq core to start
validating cpufreq table if the policy contains a valid
"policy->freq_table" pointer.
This series updates all such drivers to stop validating the cpufreq
table directly and let only the core handle it.
It depends on the previous series [1] and two cleanup patches [2][3] and
is rebased over 4.16-rc3.
It is already tested by the 0-day testing infrastructure and no issues
were reported.
--
viresh
[1] https://lkml.kernel.org/r/bd8c6133ad0bdd56c936802bcf26878d7cbdb679.1519279148.git.viresh.kumar@linaro.org
[2] https://lkml.kernel.org/r/77d470741dab32c2076a35253b9c0c2f0136583b.1519293292.git.viresh.kumar@linaro.org
[3] https://lkml.kernel.org/r/6b737a9c285840b4b2036fa51b692ee835664ec8.1519358505.git.viresh.kumar@linaro.org
Viresh Kumar (27):
cpufreq: imx6q: Find max freq from frequency table itself
cpufreq: Don't validate cpufreq table from cpufreq_generic_init()
cpufreq: acpi: Don't validate the frequency table twice
cpufreq: arm_big_little: Don't validate the frequency table twice
cpufreq: blackfin: Don't validate the frequency table twice
cpufreq: brcmstb: Don't validate the frequency table twice
cpufreq: cpufreq-dt: Don't validate the frequency table twice
cpufreq: e_powersaver: Don't validate the frequency table twice
cpufreq: elanfreq: Don't validate the frequency table twice
cpufreq: ia64-acpi: Don't validate the frequency table twice
cpufreq: longhaul: Don't validate the frequency table twice
cpufreq: mediatek: Don't validate the frequency table twice
cpufreq: p4-clockmod: Don't validate the frequency table twice
cpufreq: powernow: Don't validate the frequency table twice
cpufreq: powerenv: Don't validate the frequency table twice
cpufreq: ppc_cbe: Don't validate the frequency table twice
cpufreq: pxa: Don't validate the frequency table twice
cpufreq: qoirq: Don't validate the frequency table twice
cpufreq: s3c24xx: Don't validate the frequency table twice
cpufreq: sc520: Don't validate the frequency table twice
cpufreq: scpi: Don't validate the frequency table twice
cpufreq: sfi: Don't validate the frequency table twice
cpufreq: sh: Don't validate the frequency table twice
cpufreq: sparc: Don't validate the frequency table twice
cpufreq: speedstep: Don't validate the frequency table twice
cpufreq: tegra186: Don't validate the frequency table twice
cpufreq: Drop cpufreq_table_validate_and_show()
Documentation/cpu-freq/core.txt | 12 +++++-------
Documentation/cpu-freq/cpu-drivers.txt | 6 ++----
drivers/cpufreq/acpi-cpufreq.c | 20 +++++++++++---------
drivers/cpufreq/arm_big_little.c | 9 +--------
drivers/cpufreq/blackfin-cpufreq.c | 3 ++-
drivers/cpufreq/brcmstb-avs-cpufreq.c | 6 +-----
drivers/cpufreq/cpufreq-dt.c | 8 +-------
drivers/cpufreq/cpufreq.c | 9 +--------
drivers/cpufreq/e_powersaver.c | 8 +-------
drivers/cpufreq/elanfreq.c | 3 ++-
drivers/cpufreq/freq_table.c | 14 --------------
drivers/cpufreq/ia64-acpi-cpufreq.c | 7 +------
drivers/cpufreq/imx6q-cpufreq.c | 7 ++++---
drivers/cpufreq/longhaul.c | 3 ++-
drivers/cpufreq/mediatek-cpufreq.c | 11 +----------
drivers/cpufreq/p4-clockmod.c | 3 ++-
drivers/cpufreq/powernow-k6.c | 3 ++-
drivers/cpufreq/powernow-k7.c | 3 ++-
drivers/cpufreq/powernow-k8.c | 10 +---------
drivers/cpufreq/powernv-cpufreq.c | 11 +++--------
drivers/cpufreq/ppc_cbe_cpufreq.c | 5 ++---
drivers/cpufreq/pxa2xx-cpufreq.c | 4 ++--
drivers/cpufreq/pxa3xx-cpufreq.c | 4 +++-
drivers/cpufreq/qoriq-cpufreq.c | 13 ++-----------
drivers/cpufreq/s3c24xx-cpufreq.c | 5 +----
drivers/cpufreq/sc520_freq.c | 3 ++-
drivers/cpufreq/scpi-cpufreq.c | 10 +---------
drivers/cpufreq/sfi-cpufreq.c | 3 ++-
drivers/cpufreq/sh-cpufreq.c | 22 ++++++++++++----------
drivers/cpufreq/sparc-us2e-cpufreq.c | 3 ++-
drivers/cpufreq/sparc-us3-cpufreq.c | 3 ++-
drivers/cpufreq/speedstep-centrino.c | 4 ++--
drivers/cpufreq/speedstep-ich.c | 4 +++-
drivers/cpufreq/speedstep-smi.c | 4 +++-
drivers/cpufreq/tegra186-cpufreq.c | 2 +-
include/linux/cpufreq.h | 2 --
36 files changed, 85 insertions(+), 162 deletions(-)
--
2.15.0.194.g9af6a3dea062
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
2018-02-26 5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
@ 2018-02-26 5:08 ` Viresh Kumar
2018-02-26 11:53 ` Michael Ellerman
2018-03-05 4:19 ` [PATCH V2 15/27] cpufreq: powernv: " Viresh Kumar
2018-03-09 10:00 ` [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
1 sibling, 2 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-02-26 5:08 UTC (permalink / raw)
To: Rafael Wysocki, Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman
Cc: Viresh Kumar, linux-pm, Vincent Guittot, linuxppc-dev
The cpufreq core is already validating the CPU frequency table after
calling the ->init() callback of the cpufreq drivers and the drivers
don't need to do the same anymore. Though they need to set the
policy->freq_table field directly from the ->init() callback now.
Stop validating the frequency table from powerenv driver.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
drivers/cpufreq/powernv-cpufreq.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
index 29cdec198657..0591874856d3 100644
--- a/drivers/cpufreq/powernv-cpufreq.c
+++ b/drivers/cpufreq/powernv-cpufreq.c
@@ -812,7 +812,7 @@ static int powernv_cpufreq_target_index(struct cpufreq_policy *policy,
static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
{
- int base, i, ret;
+ int base, i;
struct kernfs_node *kn;
struct global_pstate_info *gpstates;
@@ -848,15 +848,10 @@ static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
gpstates->timer.expires = jiffies +
msecs_to_jiffies(GPSTATE_TIMER_INTERVAL);
spin_lock_init(&gpstates->gpstate_lock);
- ret = cpufreq_table_validate_and_show(policy, powernv_freqs);
-
- if (ret < 0) {
- kfree(policy->driver_data);
- return ret;
- }
+ policy->freq_table = powernv_freqs;
policy->fast_switch_possible = true;
- return ret;
+ return 0;
}
static int powernv_cpufreq_cpu_exit(struct cpufreq_policy *policy)
--
2.15.0.194.g9af6a3dea062
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
2018-02-26 5:08 ` [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice Viresh Kumar
@ 2018-02-26 11:53 ` Michael Ellerman
2018-02-27 3:45 ` Viresh Kumar
2018-03-05 4:19 ` [PATCH V2 15/27] cpufreq: powernv: " Viresh Kumar
1 sibling, 1 reply; 7+ messages in thread
From: Michael Ellerman @ 2018-02-26 11:53 UTC (permalink / raw)
To: Viresh Kumar, Rafael Wysocki, Benjamin Herrenschmidt, Paul Mackerras
Cc: Viresh Kumar, linux-pm, Vincent Guittot, linuxppc-dev
Viresh Kumar <viresh.kumar@linaro.org> writes:
> Subject: Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
^
powernv
> The cpufreq core is already validating the CPU frequency table after
> calling the ->init() callback of the cpufreq drivers and the drivers
> don't need to do the same anymore. Though they need to set the
> policy->freq_table field directly from the ->init() callback now.
>
> Stop validating the frequency table from powerenv driver.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> drivers/cpufreq/powernv-cpufreq.c | 11 +++--------
> 1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
> index 29cdec198657..0591874856d3 100644
> --- a/drivers/cpufreq/powernv-cpufreq.c
> +++ b/drivers/cpufreq/powernv-cpufreq.c
> @@ -812,7 +812,7 @@ static int powernv_cpufreq_target_index(struct cpufreq_policy *policy,
>
> static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
> {
> - int base, i, ret;
> + int base, i;
> struct kernfs_node *kn;
> struct global_pstate_info *gpstates;
Confusingly this function has two variables called ret, but the other
one is declared inside an if block below in context not shown.
So this hunk is correct.
> @@ -848,15 +848,10 @@ static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
> gpstates->timer.expires = jiffies +
> msecs_to_jiffies(GPSTATE_TIMER_INTERVAL);
> spin_lock_init(&gpstates->gpstate_lock);
> - ret = cpufreq_table_validate_and_show(policy, powernv_freqs);
> -
> - if (ret < 0) {
> - kfree(policy->driver_data);
> - return ret;
> - }
>
> + policy->freq_table = powernv_freqs;
> policy->fast_switch_possible = true;
> - return ret;
> + return 0;
> }
LGTM.
cheers
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
2018-02-26 11:53 ` Michael Ellerman
@ 2018-02-27 3:45 ` Viresh Kumar
2018-02-28 10:45 ` Michael Ellerman
0 siblings, 1 reply; 7+ messages in thread
From: Viresh Kumar @ 2018-02-27 3:45 UTC (permalink / raw)
To: Michael Ellerman
Cc: Rafael Wysocki, Benjamin Herrenschmidt, Paul Mackerras, linux-pm,
Vincent Guittot, linuxppc-dev
On 26-02-18, 22:53, Michael Ellerman wrote:
> Viresh Kumar <viresh.kumar@linaro.org> writes:
> > Subject: Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
> ^
> powernv
>
> > The cpufreq core is already validating the CPU frequency table after
> > calling the ->init() callback of the cpufreq drivers and the drivers
> > don't need to do the same anymore. Though they need to set the
> > policy->freq_table field directly from the ->init() callback now.
> >
> > Stop validating the frequency table from powerenv driver.
powernv :)
Will fix both of them.
--
viresh
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
2018-02-27 3:45 ` Viresh Kumar
@ 2018-02-28 10:45 ` Michael Ellerman
0 siblings, 0 replies; 7+ messages in thread
From: Michael Ellerman @ 2018-02-28 10:45 UTC (permalink / raw)
To: Viresh Kumar
Cc: Rafael Wysocki, Benjamin Herrenschmidt, Paul Mackerras, linux-pm,
Vincent Guittot, linuxppc-dev
Viresh Kumar <viresh.kumar@linaro.org> writes:
> On 26-02-18, 22:53, Michael Ellerman wrote:
>> Viresh Kumar <viresh.kumar@linaro.org> writes:
>> > Subject: Re: [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice
>> ^
>> powernv
>>
>> > The cpufreq core is already validating the CPU frequency table after
>> > calling the ->init() callback of the cpufreq drivers and the drivers
>> > don't need to do the same anymore. Though they need to set the
>> > policy->freq_table field directly from the ->init() callback now.
>> >
>> > Stop validating the frequency table from powerenv driver.
>
> powernv :)
>
> Will fix both of them.
Thanks :)
cheers
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH V2 15/27] cpufreq: powernv: Don't validate the frequency table twice
2018-02-26 5:08 ` [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice Viresh Kumar
2018-02-26 11:53 ` Michael Ellerman
@ 2018-03-05 4:19 ` Viresh Kumar
1 sibling, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-03-05 4:19 UTC (permalink / raw)
To: Rafael Wysocki, Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman
Cc: Viresh Kumar, linux-pm, Vincent Guittot, linuxppc-dev
The cpufreq core is already validating the CPU frequency table after
calling the ->init() callback of the cpufreq drivers and the drivers
don't need to do the same anymore. Though they need to set the
policy->freq_table field directly from the ->init() callback now.
Stop validating the frequency table from powernv driver.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
V1->V2:
- s/powerenv/powernv/
drivers/cpufreq/powernv-cpufreq.c | 11 +++--------
1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
index 29cdec198657..0591874856d3 100644
--- a/drivers/cpufreq/powernv-cpufreq.c
+++ b/drivers/cpufreq/powernv-cpufreq.c
@@ -812,7 +812,7 @@ static int powernv_cpufreq_target_index(struct cpufreq_policy *policy,
static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
{
- int base, i, ret;
+ int base, i;
struct kernfs_node *kn;
struct global_pstate_info *gpstates;
@@ -848,15 +848,10 @@ static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy)
gpstates->timer.expires = jiffies +
msecs_to_jiffies(GPSTATE_TIMER_INTERVAL);
spin_lock_init(&gpstates->gpstate_lock);
- ret = cpufreq_table_validate_and_show(policy, powernv_freqs);
-
- if (ret < 0) {
- kfree(policy->driver_data);
- return ret;
- }
+ policy->freq_table = powernv_freqs;
policy->fast_switch_possible = true;
- return ret;
+ return 0;
}
static int powernv_cpufreq_cpu_exit(struct cpufreq_policy *policy)
--
2.15.0.194.g9af6a3dea062
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers
2018-02-26 5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
2018-02-26 5:08 ` [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice Viresh Kumar
@ 2018-03-09 10:00 ` Viresh Kumar
1 sibling, 0 replies; 7+ messages in thread
From: Viresh Kumar @ 2018-03-09 10:00 UTC (permalink / raw)
To: Rafael Wysocki, bcm-kernel-feedback-list, Benjamin Herrenschmidt,
Brian Norris, Florian Fainelli, Gregory Fong, Jonathan Hunter,
Krzysztof Kozlowski, Kukjin Kim, Markus Mayer, Matthias Brugger,
Michael Ellerman, Paul Mackerras, Sudeep Holla, Thierry Reding
Cc: linux-pm, Vincent Guittot, linux-arm-kernel, linux-mediatek,
linuxppc-dev, linux-samsung-soc, linux-tegra
On 26-02-18, 10:38, Viresh Kumar wrote:
> Hi,
>
> A patchset [1] sent last week already updated the cpufreq core to start
> validating cpufreq table if the policy contains a valid
> "policy->freq_table" pointer.
>
> This series updates all such drivers to stop validating the cpufreq
> table directly and let only the core handle it.
>
> It depends on the previous series [1] and two cleanup patches [2][3] and
> is rebased over 4.16-rc3.
>
> It is already tested by the 0-day testing infrastructure and no issues
> were reported.
We will assume no objections or concerns if you (cc'd here and on the individual
commits) don't respond and the series will then get merged into linux-next next
week.
Thanks.
--
viresh
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-03-09 10:00 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-26 5:08 [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
2018-02-26 5:08 ` [PATCH 15/27] cpufreq: powerenv: Don't validate the frequency table twice Viresh Kumar
2018-02-26 11:53 ` Michael Ellerman
2018-02-27 3:45 ` Viresh Kumar
2018-02-28 10:45 ` Michael Ellerman
2018-03-05 4:19 ` [PATCH V2 15/27] cpufreq: powernv: " Viresh Kumar
2018-03-09 10:00 ` [PATCH 00/27] cpufreq: Stop validating cpufreq table in drivers Viresh Kumar
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).