Re: [PATCH] oprofile: re-arm APIC_DM_NMI in ppro_check_ctrs()

From: Eric Dumazet
Date: Mon Nov 10 2008 - 10:50:27 EST


Andi Kleen a écrit :
oprofile_add_sample(regs, i);
+ /*
+ * We need to unmask the apic vector *before*
+ * writing reset_value to msr counter
+ */
+ apic_write(APIC_LVTPC, APIC_DM_NMI);
wrmsrl(msrs->counters[i].addr, -reset_value[i]);
}
}
- /* Only P6 based Pentium M need to re-unmask the apic vector but it
- * doesn't hurt other P6 variant */
- apic_write(APIC_LVTPC, apic_read(APIC_LVTPC) & ~APIC_LVT_MASKED);

Did you also test if it really needs to be inside the if () or just before the wrmsrl?


In my testings, the "if (CTR_OVERFLOWED())" condition is always true.

(I am profiling one event only)

I felt uncomfortable issuing the apic_write() before oprofile_add_sample()

Do you mean doing the apic_write() right at the beginning of the ppro_check_ctrs()
function ?

--
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/