Messages in this thread | | | Date | Thu, 24 Jul 2008 09:24:25 -0400 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH] i386: improve double fault handling |
| |
Jan Beulich wrote: >>>> Joerg Roedel <joro@8bytes.org> 23.07.08 23:43 >>> >> On Fri, Jul 18, 2008 at 01:30:42PM +0100, Jan Beulich wrote: >>> Make the double fault handler use CPU-specific stacks. Add some >>> abstraction to simplify future change of other exception handlers to go >>> through task gates. >> What is the benefit of exception handlers going through task gates? >> Hardware task switches are not very well supported in virtualization >> (e.g. its has issues in KVM and is also not in Xen for a long time). > > The main goal is to get to a different stack. While at present this is done > only for the double fault, I think generally NMI and MCE should also do > so, as they may be caused by a stack access (see x86-64, which runs > them on IST stacks), and hence continuing to run on that same stack > may not allow the exception to be handled.
NMI, MCE and #DF are the obvious candidates.
Now, keep in mind TSSes have to be prepared per-CPU, since they get marked "busy" when in use, so it's a bit of a nontrivial undertaking.
-hpa
| |