Commit 98b008df authored by Stephane Eranian's avatar Stephane Eranian Committed by Ingo Molnar

perf/rapl: Fix crash in rapl_scale()

This patch fixes a systematic crash in rapl_scale()
due to an invalid pointer.

The bug was introduced by commit:

  89cbc767 ("x86: Replace __get_cpu_var uses")

The fix is simple. Just put the parenthesis where it needs
to be, i.e., around rapl_pmu. To my surprise, the compiler
was not complaining about passing an integer instead of a
pointer.
Reported-by: default avatarVince Weaver <vincent.weaver@maine.edu>
Tested-by: default avatarVince Weaver <vincent.weaver@maine.edu>
Fixes: 89cbc767 ("x86: Replace __get_cpu_var uses")
Signed-off-by: default avatarStephane Eranian <eranian@google.com>
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: cl@linux.com
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/20150122203834.GA10228@thinkpadSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent c05199e5
...@@ -142,7 +142,7 @@ static inline u64 rapl_scale(u64 v) ...@@ -142,7 +142,7 @@ static inline u64 rapl_scale(u64 v)
* or use ldexp(count, -32). * or use ldexp(count, -32).
* Watts = Joules/Time delta * Watts = Joules/Time delta
*/ */
return v << (32 - __this_cpu_read(rapl_pmu->hw_unit)); return v << (32 - __this_cpu_read(rapl_pmu)->hw_unit);
} }
static u64 rapl_event_update(struct perf_event *event) static u64 rapl_event_update(struct perf_event *event)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment