[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJZ5v0giGz92S-9yVw4bLdoZtRFGZw7KqcX8jPZz7k0FQVuBEw@mail.gmail.com>
Date: Wed, 4 Aug 2021 20:19:49 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Linux PM <linux-pm@...r.kernel.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Viresh Kumar <viresh.kumar@...aro.org>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Len Brown <lenb@...nel.org>,
Michael Ellerman <mpe@...erman.id.au>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>
Subject: Re: [PATCH 28/38] cpufreq: Replace deprecated CPU-hotplug functions.
On Tue, Aug 3, 2021 at 4:17 PM Sebastian Andrzej Siewior
<bigeasy@...utronix.de> wrote:
>
> The functions get_online_cpus() and put_online_cpus() have been
> deprecated during the CPU hotplug rework. They map directly to
> cpus_read_lock() and cpus_read_unlock().
>
> Replace deprecated CPU-hotplug functions with the official version.
> The behavior remains unchanged.
>
> Cc: linux-pm@...r.kernel.org
> Cc: "Rafael J. Wysocki" <rjw@...ysocki.net>
> Cc: Viresh Kumar <viresh.kumar@...aro.org>
> Cc: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>
> Cc: Len Brown <lenb@...nel.org>
> Cc: Michael Ellerman <mpe@...erman.id.au>
> Cc: Benjamin Herrenschmidt <benh@...nel.crashing.org>
> Cc: Paul Mackerras <paulus@...ba.org>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
> ---
> drivers/cpufreq/acpi-cpufreq.c | 4 ++--
> drivers/cpufreq/cpufreq.c | 6 +++---
> drivers/cpufreq/cpufreq_ondemand.c | 4 ++--
> drivers/cpufreq/intel_pstate.c | 4 ++--
> drivers/cpufreq/powernow-k8.c | 6 +++---
> drivers/cpufreq/powernv-cpufreq.c | 4 ++--
> 6 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c
> index 7e7450453714d..b49612895c786 100644
> --- a/drivers/cpufreq/acpi-cpufreq.c
> +++ b/drivers/cpufreq/acpi-cpufreq.c
> @@ -163,9 +163,9 @@ static ssize_t store_cpb(struct cpufreq_policy *policy, const char *buf,
> if (ret || val > 1)
> return -EINVAL;
>
> - get_online_cpus();
> + cpus_read_lock();
> set_boost(policy, val);
> - put_online_cpus();
> + cpus_read_unlock();
>
> return count;
> }
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index 45f3416988f1a..06c526d66dd38 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -2654,18 +2654,18 @@ int cpufreq_boost_trigger_state(int state)
> cpufreq_driver->boost_enabled = state;
> write_unlock_irqrestore(&cpufreq_driver_lock, flags);
>
> - get_online_cpus();
> + cpus_read_lock();
> for_each_active_policy(policy) {
> ret = cpufreq_driver->set_boost(policy, state);
> if (ret)
> goto err_reset_state;
> }
> - put_online_cpus();
> + cpus_read_unlock();
>
> return 0;
>
> err_reset_state:
> - put_online_cpus();
> + cpus_read_unlock();
>
> write_lock_irqsave(&cpufreq_driver_lock, flags);
> cpufreq_driver->boost_enabled = !state;
> diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c
> index ac361a8b1d3bb..eb4320b619c9c 100644
> --- a/drivers/cpufreq/cpufreq_ondemand.c
> +++ b/drivers/cpufreq/cpufreq_ondemand.c
> @@ -418,7 +418,7 @@ static void od_set_powersave_bias(unsigned int powersave_bias)
> default_powersave_bias = powersave_bias;
> cpumask_clear(&done);
>
> - get_online_cpus();
> + cpus_read_lock();
> for_each_online_cpu(cpu) {
> struct cpufreq_policy *policy;
> struct policy_dbs_info *policy_dbs;
> @@ -442,7 +442,7 @@ static void od_set_powersave_bias(unsigned int powersave_bias)
> od_tuners = dbs_data->tuners;
> od_tuners->powersave_bias = default_powersave_bias;
> }
> - put_online_cpus();
> + cpus_read_unlock();
> }
>
> void od_register_powersave_bias_handler(unsigned int (*f)
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index bb4549959b113..2d83a9f9651b0 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -2969,7 +2969,7 @@ static void intel_pstate_driver_cleanup(void)
> {
> unsigned int cpu;
>
> - get_online_cpus();
> + cpus_read_lock();
> for_each_online_cpu(cpu) {
> if (all_cpu_data[cpu]) {
> if (intel_pstate_driver == &intel_pstate)
> @@ -2979,7 +2979,7 @@ static void intel_pstate_driver_cleanup(void)
> all_cpu_data[cpu] = NULL;
> }
> }
> - put_online_cpus();
> + cpus_read_unlock();
>
> intel_pstate_driver = NULL;
> }
> diff --git a/drivers/cpufreq/powernow-k8.c b/drivers/cpufreq/powernow-k8.c
> index b9ccb6a3dad98..12ab4014af712 100644
> --- a/drivers/cpufreq/powernow-k8.c
> +++ b/drivers/cpufreq/powernow-k8.c
> @@ -1180,7 +1180,7 @@ static int powernowk8_init(void)
> if (!x86_match_cpu(powernow_k8_ids))
> return -ENODEV;
>
> - get_online_cpus();
> + cpus_read_lock();
> for_each_online_cpu(i) {
> smp_call_function_single(i, check_supported_cpu, &ret, 1);
> if (!ret)
> @@ -1188,10 +1188,10 @@ static int powernowk8_init(void)
> }
>
> if (supported_cpus != num_online_cpus()) {
> - put_online_cpus();
> + cpus_read_unlock();
> return -ENODEV;
> }
> - put_online_cpus();
> + cpus_read_unlock();
>
> ret = cpufreq_register_driver(&cpufreq_amd64_driver);
> if (ret)
> diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c
> index 005600cef2730..23a06cba392cd 100644
> --- a/drivers/cpufreq/powernv-cpufreq.c
> +++ b/drivers/cpufreq/powernv-cpufreq.c
> @@ -918,7 +918,7 @@ static void powernv_cpufreq_work_fn(struct work_struct *work)
> unsigned int cpu;
> cpumask_t mask;
>
> - get_online_cpus();
> + cpus_read_lock();
> cpumask_and(&mask, &chip->mask, cpu_online_mask);
> smp_call_function_any(&mask,
> powernv_cpufreq_throttle_check, NULL, 0);
> @@ -939,7 +939,7 @@ static void powernv_cpufreq_work_fn(struct work_struct *work)
> cpufreq_cpu_put(policy);
> }
> out:
> - put_online_cpus();
> + cpus_read_unlock();
> }
>
> static int powernv_cpufreq_occ_msg(struct notifier_block *nb,
> --
Applied as 5.15 material, thanks!
Powered by blists - more mailing lists