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@klingt.org http://tim.klingt.org Your mind will answer most questions if you learn to relax and wait for the answer. William S. Burroughs