[PATCH] powercap/rapl: Do not load in virtualized environments

Prarit Bhargava
2016-05-17T11:34:35Z

intel_rapl is currently not supported in virtualized environments. When
booting the warning message

intel_rapl: no valid rapl domains found in package 0

is output for every virtual core.

This patch stops the driver from being loaded in virtual boots.

Cc: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Cc: Jacob Jun Pan <jacob.jun.pan@intel.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: linux-pm@vger.kernel.org
Signed-off-by: Prarit Bhargava <prarit@redhat.com>
---
drivers/powercap/intel_rapl.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/powercap/intel_rapl.c b/drivers/powercap/intel_rapl.c
index f2201d42a9cd..bebfbe8acccd 100644
--- a/drivers/powercap/intel_rapl.c
+++ b/drivers/powercap/intel_rapl.c
@@ -29,6 +29,7 @@
#include <linux/sysfs.h>
#include <linux/cpu.h>
#include <linux/powercap.h>
+#include <asm/hypervisor.h>
#include <asm/iosf_mbi.h>

#include <asm/processor.h>
@@ -1600,6 +1601,10 @@ static int __init rapl_init(void)
return -ENODEV;
}

+ /* Intel RAPL is not supported on virtualized environments */
+ if (x86_hyper)
+ return -ENODEV;
+
rapl_defaults = (struct rapl_defaults *)id->driver_data;

cpu_notifier_register_begin();
--
1.7.9.3