Messages in this thread | | | Date | Thu, 15 Jul 2010 15:24:31 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [patch 1/2] x86_64 page fault NMI-safe |
| |
On 07/15/2010 03:16 PM, Linus Torvalds wrote: > >> This code assumes NMIs have a separate stack. > > It also needs to be made per-cpu (and the flags be per-cpu). > > Then you could in fact possibly test the stack pointer for whether it > is in the NMI stack area, and use the value of %rsp itself as the > flag. So you could avoid the flag entirely. Because testing %rsp is > valid - testing %rip is not. > > That would also avoid the race, because %rsp (as a flag) now gets > cleared atomically by the "iret". So that might actually solve things. >
This seems really clean to me.
-hpa
-- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
| |