Re: [PATCH] oprofile add Pentium Mobile support

From: Will Cohen
Date: Mon Feb 16 2004 - 09:04:22 EST


Mikael Pettersson wrote:
Philippe Elie writes:
> From: Will Cohen <wcohen@xxxxxxxxxx>
> > Add oprofile support for Pentium Mobile (P6 core). Pentium Mobile needs
> to unmask LVPTC vector, since it doesn't hurt other P6 core based cpus
> we do it unconditionally for all these.

[Patch talking about the Pentium-M.]

I can find no support in Intel's documentation (IA32 Volume 3,
25366813.pdf) that Pentium-M:s need to unmask LVTPC.

How certain are you of this? Is this an undocumented hardware
quirk? If it is documented, please indicate where.

I have tested it on a Pentium M machine. Without the unmask LVTPC the nmi handler collected precisely one interrupt. With the LVTPC unmask the OProfile data collection worked normally.

It's my theory that P4 added the auto-masking to help PEBS
buffer overflow situations, but since P-M doesn't have PEBS,
they shouldn't have had to change this on P-M as well.
OTOH, it's certainly possible they changed it by accident.

My theory is that the Pentium M uses same bus interface and local apic as the Pentium M. Thus, the Pentium M shares the Pentium 4 need to unmask LVTPC.

One way of testing this would be to run a P-M with
nmi_watchdog=2. If the NMI counter keeps ticking, then
LVTPC does not need unmasking.

Yes, I tested the nmi watchdog and it currently does not work on the Pentium M. It doesn't get the later interrupts and states it is stuck.


-Will

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