Re: [tip:perfcounters/core] perf_counter: x86: Fix call-chain supportto use NMI-safe methods

From: Avi Kivity
Date: Mon Jun 15 2009 - 15:03:58 EST


On 06/15/2009 09:55 PM, H. Peter Anvin wrote:
Ingo Molnar wrote:
I wouldn't actually expect that, *as long as* there is
serialization between the cr2 write and the cr2 read.
Well, is there any OS that heavily relies on cr2 writes and which
uses them from NMI context, and which CPU makers care about?
(Meaning: Windows, pretty much.)

If not then i agree that in theory it should work fine, but in
practice we only know that we dont know the unknown risk here ;-)


I think you can drop "uses them from NMI context" from that statement;
writing to %cr2 is independent of the context.

I can try to find out internally what Intel's position on writing %cr2
is, but it'll take a while; however, KVM should be able to tell you if
any random OS uses %cr2 writes (as should a static disassembly of their
kernel.)

Linux is one such OS. When acting as a hypervisor it writes cr2 to present its guests with their expected environment (any hypervisor that uses virtualization extensions will of course need to do this).


--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

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