forked from luck/tmp_suning_uos_patched
arch/x86/kernel/cpu/perf_event_msr.c: use sign_extend64() for sign extension
Signed-off-by: Martin Kepplinger <martin.kepplinger@theobroma-systems.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Ingo Molnar <mingo@redhat.com> Cc: Arnaldo Carvalho de Melo <acme@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: George Spelvin <linux@horizon.com> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk> Cc: Maxime Coquelin <maxime.coquelin@st.com> Cc: Denys Vlasenko <dvlasenk@redhat.com> Cc: Yury Norov <yury.norov@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
06d8f8178c
commit
78e3c79510
|
@ -163,10 +163,9 @@ static void msr_event_update(struct perf_event *event)
|
|||
goto again;
|
||||
|
||||
delta = now - prev;
|
||||
if (unlikely(event->hw.event_base == MSR_SMI_COUNT)) {
|
||||
delta <<= 32;
|
||||
delta >>= 32; /* sign extend */
|
||||
}
|
||||
if (unlikely(event->hw.event_base == MSR_SMI_COUNT))
|
||||
delta = sign_extend64(delta, 31);
|
||||
|
||||
local64_add(now - prev, &event->count);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user