Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1526827

[tip:smp/hotplug] powercap/intel_rapl: Add missing domain data update on hotplug

From tip-bot for Thomas Gleixner <tipbot@zytor.com>
Newsgroups linux.kernel
Subject [tip:smp/hotplug] powercap/intel_rapl: Add missing domain data update on hotplug
Date 2016-11-21 16:50 +0100
Message-ID <sFZ10-2ZM-45@gated-at.bofh.it> (permalink)
References <sEzV0-4p4-33@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Commit-ID:  4a6162f9e1c140c7436818983065365168075b0c
Gitweb:     http://git.kernel.org/tip/4a6162f9e1c140c7436818983065365168075b0c
Author:     Thomas Gleixner <tglx@linutronix.de>
AuthorDate: Thu, 17 Nov 2016 19:35:29 +0100
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Mon, 21 Nov 2016 16:37:06 +0100

powercap/intel_rapl: Add missing domain data update on hotplug

The domain data of packages is only updated at init time, but new packages
created by hotplug miss that treatment.

Add it there and remove the global update at init time, because it's now
obsolete.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: rt@linuxtronix.de
Cc: linux-pm@vger.kernel.org
Link: http://lkml.kernel.org/r/20161117183541.8588-9-bigeasy@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

---
 drivers/powercap/intel_rapl.c | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/drivers/powercap/intel_rapl.c b/drivers/powercap/intel_rapl.c
index 243b233..44b12e2 100644
--- a/drivers/powercap/intel_rapl.c
+++ b/drivers/powercap/intel_rapl.c
@@ -1164,24 +1164,20 @@ static const struct x86_cpu_id rapl_ids[] __initconst = {
 };
 MODULE_DEVICE_TABLE(x86cpu, rapl_ids);
 
-/* read once for all raw primitive data for all packages, domains */
-static void rapl_update_domain_data(void)
+/* Read once for all raw primitive data for domains */
+static void rapl_update_domain_data(struct rapl_package *rp)
 {
 	int dmn, prim;
 	u64 val;
-	struct rapl_package *rp;
 
-	list_for_each_entry(rp, &rapl_packages, plist) {
-		for (dmn = 0; dmn < rp->nr_domains; dmn++) {
-			pr_debug("update package %d domain %s data\n", rp->id,
-				rp->domains[dmn].name);
+	for (dmn = 0; dmn < rp->nr_domains; dmn++) {
+		pr_debug("update package %d domain %s data\n", rp->id,
+			 rp->domains[dmn].name);
 			/* exclude non-raw primitives */
-			for (prim = 0; prim < NR_RAW_PRIMITIVES; prim++)
-				if (!rapl_read_data_raw(&rp->domains[dmn], prim,
-								rpi[prim].unit,
-								&val))
-					rp->domains[dmn].rdd.primitives[prim] =
-									val;
+		for (prim = 0; prim < NR_RAW_PRIMITIVES; prim++) {
+			if (!rapl_read_data_raw(&rp->domains[dmn], prim,
+						rpi[prim].unit,	&val))
+				rp->domains[dmn].rdd.primitives[prim] = val;
 		}
 	}
 
@@ -1239,6 +1235,9 @@ static int rapl_package_register_powercap(struct rapl_package *rp)
 	struct powercap_zone *power_zone = NULL;
 	int nr_pl;
 
+	/* Update the domain data of the new package */
+	rapl_update_domain_data(rp);
+
 	/* first we register package domain as the parent zone*/
 	for (rd = rp->domains; rd < rp->domains + rp->nr_domains; rd++) {
 		if (rd->id == RAPL_DOMAIN_PACKAGE) {
@@ -1357,8 +1356,7 @@ static int rapl_register_powercap(void)
 		pr_debug("failed to register powercap control_type.\n");
 		return PTR_ERR(control_type);
 	}
-	/* read the initial data */
-	rapl_update_domain_data();
+
 	list_for_each_entry(rp, &rapl_packages, plist)
 		if (rapl_package_register_powercap(rp))
 			goto err_cleanup_package;

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

cpu hotplug: convert more drivers (batch #5) Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:40 +0100
  [PATCH 12/20] net/iucv: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:40 +0100
    [tip:smp/hotplug] net/iucv: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-21 17:00 +0100
    [tip:smp/hotplug] net/iucv: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-23 00:20 +0100
    Re: [PATCH 12/20] net/iucv: Convert to hotplug state machine Ursula Braun <ubraun@linux.vnet.ibm.com> - 2016-11-23 20:40 +0100
      Re: [PATCH 12/20] net/iucv: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-24 10:20 +0100
        [PATCH 12/20 v2] net/iucv: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-24 15:20 +0100
          [PATCH] net/iucv: use explicit clean up labels in iucv_init() Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-24 17:20 +0100
            [tip:smp/hotplug] net/iucv: Use explicit clean up labels in  iucv_init() tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-24 21:00 +0100
  [PATCH 09/20] powercap/intel rapl: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:40 +0100
    [tip:smp/hotplug] powercap/intel rapl: Convert to hotplug state  machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-21 17:00 +0100
  [PATCH 19/20] x86/oprofile/nmi: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:40 +0100
    [tip:smp/hotplug] x86/oprofile/nmi: Convert to hotplug state  machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-21 17:00 +0100
    [tip:smp/hotplug] x86/oprofile/nmi: Convert to hotplug state  machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-22 23:50 +0100
  [PATCH 14/20] arm/bL_switcher: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:40 +0100
    [tip:smp/hotplug] arm/bL_switcher: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-21 17:00 +0100
    [tip:smp/hotplug] arm/bL_switcher: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-22 23:50 +0100
  [PATCH 13/20] sched/nohz: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:40 +0100
    [tip:smp/hotplug] sched/nohz: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-21 17:00 +0100
    [tip:smp/hotplug] sched/nohz: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-23 00:20 +0100
  [PATCH 16/20] powerpc/sysfs: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:40 +0100
    [tip:smp/hotplug] powerpc/sysfs: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-21 17:00 +0100
    [tip:smp/hotplug] powerpc/sysfs: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-22 23:50 +0100
  [PATCH 10/20] powercap/intel_rapl: Cleanup duplicated init code Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:50 +0100
    [tip:smp/hotplug] powercap/intel_rapl: Cleanup duplicated init code tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2016-11-21 17:00 +0100
  [PATCH 01/20] x86/mce/therm_throt: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:50 +0100
    [tip:smp/hotplug] x86/mce/therm_throt: Convert to hotplug state  machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-21 16:50 +0100
    [tip:smp/hotplug] x86/mce/therm_throt: Convert to hotplug state  machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-22 23:50 +0100
  [PATCH 07/20] pci/xgene-msi: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:50 +0100
    [tip:smp/hotplug] PCI/xgene-msi: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-21 16:50 +0100
    [tip:smp/hotplug] PCI/xgene-msi: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-23 00:20 +0100
  [PATCH 06/20] hwmon/via-cputemp: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:50 +0100
    [PATCH 06/20 v2] hwmon/via-cputemp: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-18 16:20 +0100
    Re: [PATCH 06/20] hwmon/via-cputemp: Convert to hotplug state machine Guenter Roeck <linux@roeck-us.net> - 2016-11-23 16:40 +0100
  [PATCH 05/20] hwmon/via-cputemp: Remove pointless CPU check on each CPU Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:50 +0100
    Re: [05/20] hwmon/via-cputemp: Remove pointless CPU check on each CPU Guenter Roeck <linux@roeck-us.net> - 2016-11-19 18:30 +0100
      Re: [05/20] hwmon/via-cputemp: Remove pointless CPU check on each CPU Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-20 00:00 +0100
        Re: [05/20] hwmon/via-cputemp: Remove pointless CPU check on each CPU Guenter Roeck <linux@roeck-us.net> - 2016-11-20 05:00 +0100
          Re: [05/20] hwmon/via-cputemp: Remove pointless CPU check on each CPU Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-20 21:40 +0100
  [PATCH 08/20] powercap/intel_rapl: Add missing domain data update on hotplug Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:50 +0100
    [tip:smp/hotplug] powercap/intel_rapl: Add missing domain data  update on hotplug tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2016-11-21 16:50 +0100
  [PATCH 03/20] x86/msr: Convert to hotplug state machine Sebastian Andrzej Siewior <bigeasy@linutronix.de> - 2016-11-17 19:50 +0100
    [tip:smp/hotplug] x86/msr: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-21 16:50 +0100
    [tip:smp/hotplug] x86/msr: Convert to hotplug state machine tip-bot for Sebastian Andrzej Siewior <tipbot@zytor.com> - 2016-11-22 23:50 +0100

csiph-web