Thread (12 messages) 12 messages, 5 authors, 2021-09-09

Re: [PATCH 18/38] powercap: intel_rapl: Replace deprecated CPU-hotplug functions.

From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: 2021-08-04 18:15:32
Also in: lkml

On Tue, Aug 3, 2021 at 4:17 PM Sebastian Andrzej Siewior
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
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" <redacted>
Cc: linux-pm@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
 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!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help