Re: 2.6.28-rc9: oprofile regression

From: Tim Blechmann
Date: Sat Jan 17 2009 - 08:33:36 EST


hm, it seems a bit more complicated than i originally thought.

trying to reconstruct commit b99170288421c79f0c2efa8b33e26e65f4bb7fb8, i
found, that resetting counter_width in ppro_setup_ctrs, causes the
issue. reverting part of the patch, resolved the issue:

--- a/arch/x86/oprofile/op_model_ppro.c
+++ b/arch/x86/oprofile/op_model_ppro.c
@@ -79,8 +79,8 @@ static void ppro_setup_ctrs(struct op_msrs const * const msrs)
if (cpu_has_arch_perfmon) {
union cpuid10_eax eax;
eax.full = cpuid_eax(0xa);
- if (counter_width < eax.split.bit_width)
- counter_width = eax.split.bit_width;
+// if (counter_width < eax.split.bit_width)
+// counter_width = eax.split.bit_width;
}

/* clear all counters */


however, trying to apply this patch to 2.6.28, the behavior is the same
as before (one NMI) ... so possibly, it is a combination of two bugs,
with similar symptoms ...

hth, tim

--
tim@xxxxxxxxxx
http://tim.klingt.org

Your mind will answer most questions if you learn to relax and wait
for the answer.
William S. Burroughs

Attachment: signature.asc
Description: This is a digitally signed message part