All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf/x86: fix RAPL rdmsrl_safe() usage
@ 2014-04-23 17:04 Stephane Eranian
  2014-04-23 19:00 ` Borislav Petkov
  2014-04-24  8:03 ` [tip:perf/urgent] perf/x86: Fix " tip-bot for Stephane Eranian
  0 siblings, 2 replies; 5+ messages in thread
From: Stephane Eranian @ 2014-04-23 17:04 UTC (permalink / raw)
  To: linux-kernel; +Cc: peterz, mingo, venkateshs, bp, ak, zheng.z.yan


This patch fixes a bug introduced by commit 24223657.

The rdmsrl_safe() function returns 0 on success.
The current code was failing to detect the RAPL PMU
on real hardware  (missing /sys/devices/power) because
the return value of rdmsrl_safe() was misinterpreted.

Signed-off-by: Stephane Eranian <eranian@google.com>

diff --git a/arch/x86/kernel/cpu/perf_event_intel_rapl.c b/arch/x86/kernel/cpu/perf_event_intel_rapl.c
index 7c87424..619f769 100644
--- a/arch/x86/kernel/cpu/perf_event_intel_rapl.c
+++ b/arch/x86/kernel/cpu/perf_event_intel_rapl.c
@@ -543,7 +543,8 @@ static int rapl_cpu_prepare(int cpu)
 	if (phys_id < 0)
 		return -1;
 
-	if (!rdmsrl_safe(MSR_RAPL_POWER_UNIT, &msr_rapl_power_unit_bits))
+	/* protect rdmsrl() to handle virtualization */
+	if (rdmsrl_safe(MSR_RAPL_POWER_UNIT, &msr_rapl_power_unit_bits))
 		return -1;
 
 	pmu = kzalloc_node(sizeof(*pmu), GFP_KERNEL, cpu_to_node(cpu));

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-04-24  8:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-23 17:04 [PATCH] perf/x86: fix RAPL rdmsrl_safe() usage Stephane Eranian
2014-04-23 19:00 ` Borislav Petkov
2014-04-23 19:27   ` Venkatesh Srinivas
2014-04-23 20:00     ` Andi Kleen
2014-04-24  8:03 ` [tip:perf/urgent] perf/x86: Fix " tip-bot for Stephane Eranian

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.