[PATCH 03/11] perf, sparc64: Fix maybe_change_configuration() PCR setting.

From: Peter Zijlstra
Date: Thu Jun 24 2010 - 10:39:00 EST


From: David S. Miller <davem@xxxxxxxxxxxxx>

Need to mask out the existing event bits before OR'ing in
the new ones.

Reported-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
---
arch/sparc/kernel/perf_event.c | 1 +
1 file changed, 1 insertion(+)

Index: linux-2.6/arch/sparc/kernel/perf_event.c
===================================================================
--- linux-2.6.orig/arch/sparc/kernel/perf_event.c
+++ linux-2.6/arch/sparc/kernel/perf_event.c
@@ -657,6 +657,7 @@ static u64 maybe_change_configuration(st
cpuc->current_idx[i] = idx;

enc = perf_event_get_enc(cpuc->events[i]);
+ pcr &= ~mask_for_index(idx);
pcr |= event_encoding(enc, idx);
}
out:


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/