Messages in this thread | | | Date | Wed, 07 Sep 2011 18:11:14 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH 08/13] xen/pvticketlock: disable interrupts while blocking |
| |
On 09/07/2011 04:44 PM, Don Zickus wrote: > > > > Is there a way to tell whether an NMI was internally or externally > > generated? > > > > I don't think so, especially as two or more NMIs can be coalesced. > > So any NMI received on this first cpu has to check the NMI reason > > port? > > Well we cheat and execute all the nmi handlers first. If they come back > as handled, we skip the check for the external NMI.
And hope that no other NMI was generated while we're handling this one. It's a little... fragile?
> But you are right, other than checking the reason port, there isn't a way > to determine if an NMI is internally or externally generated.
Ouch.
> > > > > >> > > >> But on the other hand, I don't really care if you can say that this path > > >> will never be called in a virtual machine. > > > > > >Does virtual machines support hot remove of cpus? Probably not > > >considering bare-metal barely supports it. > > > > > > > They do. > > But vcpus probably don't have the notion of a bsp cpu, so perhaps virtual > machines can get away with it easier? (I don't know enough about the hot > cpu remove code to really explain it, just enough to know it can cause > problems and people are trying to address it). >
The concept of a bsp exists in exactly the same way as on real hardware.
-- error compiling committee.c: too many arguments to function
| |