Re: [PATCH 18/38] powercap: intel_rapl: Replace deprecated CPU-hotplug functions.
From: Rafael J. Wysocki
Date: Wed Aug 04 2021 - 14:15:32 EST
On Tue, Aug 3, 2021 at 4:17 PM Sebastian Andrzej Siewior
<bigeasy@xxxxxxxxxxxxx> 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: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>
> Cc: linux-pm@xxxxxxxxxxxxxxx
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
> ---
> drivers/powercap/intel_rapl_common.c | 50 ++++++++++++++--------------
> 1 file changed, 25 insertions(+), 25 deletions(-)
>
> diff --git a/drivers/powercap/intel_rapl_common.c b/drivers/powercap/intel_rapl_common.c
> index 73cf68af97700..7c0099e7a6d72 100644
> --- a/drivers/powercap/intel_rapl_common.c
> +++ b/drivers/powercap/intel_rapl_common.c
> @@ -158,16 +158,16 @@ static int get_energy_counter(struct powercap_zone *power_zone,
> /* prevent CPU hotplug, make sure the RAPL domain does not go
> * away while reading the counter.
> */
> - get_online_cpus();
> + cpus_read_lock();
> rd = power_zone_to_rapl_domain(power_zone);
>
> if (!rapl_read_data_raw(rd, ENERGY_COUNTER, true, &energy_now)) {
> *energy_raw = energy_now;
> - put_online_cpus();
> + cpus_read_unlock();
>
> return 0;
> }
> - put_online_cpus();
> + cpus_read_unlock();
>
> return -EIO;
> }
> @@ -216,11 +216,11 @@ static int set_domain_enable(struct powercap_zone *power_zone, bool mode)
> if (rd->state & DOMAIN_STATE_BIOS_LOCKED)
> return -EACCES;
>
> - get_online_cpus();
> + cpus_read_lock();
> rapl_write_data_raw(rd, PL1_ENABLE, mode);
> if (rapl_defaults->set_floor_freq)
> rapl_defaults->set_floor_freq(rd, mode);
> - put_online_cpus();
> + cpus_read_unlock();
>
> return 0;
> }
> @@ -234,13 +234,13 @@ static int get_domain_enable(struct powercap_zone *power_zone, bool *mode)
> *mode = false;
> return 0;
> }
> - get_online_cpus();
> + cpus_read_lock();
> if (rapl_read_data_raw(rd, PL1_ENABLE, true, &val)) {
> - put_online_cpus();
> + cpus_read_unlock();
> return -EIO;
> }
> *mode = val;
> - put_online_cpus();
> + cpus_read_unlock();
>
> return 0;
> }
> @@ -317,7 +317,7 @@ static int set_power_limit(struct powercap_zone *power_zone, int cid,
> int ret = 0;
> int id;
>
> - get_online_cpus();
> + cpus_read_lock();
> rd = power_zone_to_rapl_domain(power_zone);
> id = contraint_to_pl(rd, cid);
> if (id < 0) {
> @@ -350,7 +350,7 @@ static int set_power_limit(struct powercap_zone *power_zone, int cid,
> if (!ret)
> package_power_limit_irq_save(rp);
> set_exit:
> - put_online_cpus();
> + cpus_read_unlock();
> return ret;
> }
>
> @@ -363,7 +363,7 @@ static int get_current_power_limit(struct powercap_zone *power_zone, int cid,
> int ret = 0;
> int id;
>
> - get_online_cpus();
> + cpus_read_lock();
> rd = power_zone_to_rapl_domain(power_zone);
> id = contraint_to_pl(rd, cid);
> if (id < 0) {
> @@ -382,7 +382,7 @@ static int get_current_power_limit(struct powercap_zone *power_zone, int cid,
> prim = POWER_LIMIT4;
> break;
> default:
> - put_online_cpus();
> + cpus_read_unlock();
> return -EINVAL;
> }
> if (rapl_read_data_raw(rd, prim, true, &val))
> @@ -391,7 +391,7 @@ static int get_current_power_limit(struct powercap_zone *power_zone, int cid,
> *data = val;
>
> get_exit:
> - put_online_cpus();
> + cpus_read_unlock();
>
> return ret;
> }
> @@ -403,7 +403,7 @@ static int set_time_window(struct powercap_zone *power_zone, int cid,
> int ret = 0;
> int id;
>
> - get_online_cpus();
> + cpus_read_lock();
> rd = power_zone_to_rapl_domain(power_zone);
> id = contraint_to_pl(rd, cid);
> if (id < 0) {
> @@ -423,7 +423,7 @@ static int set_time_window(struct powercap_zone *power_zone, int cid,
> }
>
> set_time_exit:
> - put_online_cpus();
> + cpus_read_unlock();
> return ret;
> }
>
> @@ -435,7 +435,7 @@ static int get_time_window(struct powercap_zone *power_zone, int cid,
> int ret = 0;
> int id;
>
> - get_online_cpus();
> + cpus_read_lock();
> rd = power_zone_to_rapl_domain(power_zone);
> id = contraint_to_pl(rd, cid);
> if (id < 0) {
> @@ -458,14 +458,14 @@ static int get_time_window(struct powercap_zone *power_zone, int cid,
> val = 0;
> break;
> default:
> - put_online_cpus();
> + cpus_read_unlock();
> return -EINVAL;
> }
> if (!ret)
> *data = val;
>
> get_time_exit:
> - put_online_cpus();
> + cpus_read_unlock();
>
> return ret;
> }
> @@ -491,7 +491,7 @@ static int get_max_power(struct powercap_zone *power_zone, int id, u64 *data)
> int prim;
> int ret = 0;
>
> - get_online_cpus();
> + cpus_read_lock();
> rd = power_zone_to_rapl_domain(power_zone);
> switch (rd->rpl[id].prim_id) {
> case PL1_ENABLE:
> @@ -504,7 +504,7 @@ static int get_max_power(struct powercap_zone *power_zone, int id, u64 *data)
> prim = MAX_POWER;
> break;
> default:
> - put_online_cpus();
> + cpus_read_unlock();
> return -EINVAL;
> }
> if (rapl_read_data_raw(rd, prim, true, &val))
> @@ -516,7 +516,7 @@ static int get_max_power(struct powercap_zone *power_zone, int id, u64 *data)
> if (rd->rpl[id].prim_id == PL4_ENABLE)
> *data = *data * 2;
>
> - put_online_cpus();
> + cpus_read_unlock();
>
> return ret;
> }
> @@ -1358,7 +1358,7 @@ static void power_limit_state_save(void)
> struct rapl_domain *rd;
> int nr_pl, ret, i;
>
> - get_online_cpus();
> + cpus_read_lock();
> list_for_each_entry(rp, &rapl_packages, plist) {
> if (!rp->power_zone)
> continue;
> @@ -1390,7 +1390,7 @@ static void power_limit_state_save(void)
> }
> }
> }
> - put_online_cpus();
> + cpus_read_unlock();
> }
>
> static void power_limit_state_restore(void)
> @@ -1399,7 +1399,7 @@ static void power_limit_state_restore(void)
> struct rapl_domain *rd;
> int nr_pl, i;
>
> - get_online_cpus();
> + cpus_read_lock();
> list_for_each_entry(rp, &rapl_packages, plist) {
> if (!rp->power_zone)
> continue;
> @@ -1425,7 +1425,7 @@ static void power_limit_state_restore(void)
> }
> }
> }
> - put_online_cpus();
> + cpus_read_unlock();
> }
>
> static int rapl_pm_callback(struct notifier_block *nb,
> --
Applied as 5.15 material, thanks!