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

From: H. Peter Anvin
Date: Mon Jun 15 2009 - 14:44:33 EST


Ingo Molnar wrote:
> * Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> wrote:
>
>> Hrm, would it be possible to save the c2 register upon nmi handler
>> entry and restore it before iret instead ? This would ensure a
>> nmi-interrupted page fault handler would continue what it was
>> doing with a non-corrupted cr2 register after returning from nmi.
>>
>> Plus, this involves no modification to the page fault handler fast
>> path.
>
> I guess this kind of nesting would work too - assuming the cr2 can
> be written to robustly.
>
> And i suspect CPU makers pull off a few tricks to stage the cr2 info
> away from the page fault entry execution asynchronously, so i'd not
> be surprised if writing to it uncovered unknown-so-far side-effects
> in CPU implementations.
>

I wouldn't actually expect that, *as long as* there is serialization
between the cr2 write and the cr2 read.

-hpa

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