Re: [PATCH 0/4] Remove interrupt stack table usage from x86_64 kernel (v2)
- From: Ingo Molnar <mingo@xxxxxxx>
- Date: Fri, 26 Dec 2008 15:35:17 +0100
* Avi Kivity <avi@xxxxxxxxxx> wrote:
The interrupt stack table (IST) mechanism is the only thing preventing
kvm from deferring saving and reloading of some significant state. It
is also somewhat complicated.
Remove it by switching the special exceptions to use the normal irqstack.
Changes from v1:
- rebase on tip/master
- as a step, consolidate stack switching into a single macro
Jeremy, Xen is also affected; please review.
Avi Kivity (4):
x86: drop the use of the tss interrupt stack table (IST)
x86: Consolidate irq stack switching to a single macro
x86: Make interrupt stack switching atomic
x86: Move NMI back to interrupt stack
arch/x86/include/asm/desc.h | 12 -----
arch/x86/include/asm/page_64.h | 7 ---
arch/x86/include/asm/pda.h | 2 +-
arch/x86/include/asm/processor.h | 11 ----
arch/x86/kernel/asm-offsets_64.c | 1 -
arch/x86/kernel/cpu/common.c | 35 --------------
arch/x86/kernel/dumpstack_64.c | 96 --------------------------------------
arch/x86/kernel/entry_64.S | 89 ++++++++++-------------------------
arch/x86/kernel/traps.c | 12 ++--
9 files changed, 33 insertions(+), 232 deletions(-)
applied to tip/x86/irq, thanks Avi!
They have the following commit IDs, and they are also in tip/master:
921e521: x86: move NMI back to interrupt stack
36ef6c9: x86: make interrupt stack switching atomic
dd64891: x86: consolidate irq stack switching to a single macro
955a368: x86: drop the use of the tss interrupt stack table (IST)
I also started testing them in tip-qa.
I added the standard Impact-lines that we do in the x86 tree. Note that
this patch:
dd64891: x86: consolidate irq stack switching to a single macro
isnt just consolidating IRQ entry assembly code, it is also changing the
paranoidentry macros to do IRQ stack entries - and hence switches all but
the NMI critical exception entries sequences over to the IRQ stack. Your
later patch:
921e521: x86: move NMI back to interrupt stack
covers the NMI entry code too.
Please double-check that we indeed now have all the critical exceptions on
the IRQ stack (they are all rare so testing alone wont show this), and
please also double-check that we dont have more exceptions and entry
callpaths on the IRQ stack than what we wanted. For example on a
preemptible kernel (or in any codepath that calls schedule()) it is fatal
to be on the IRQ stack, so this has to be very accurately coded.
Ingo
--
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/
- Follow-Ups:
- References:
- Prev by Date: [7/9] pohmelfs: network operations.
- Next by Date: Re: [PATCH 0/4] Remove interrupt stack table usage from x86_64 kernel (v2)
- Previous by thread: [PATCH 3/4] x86: Make interrupt stack switching atomic
- Next by thread: Re: [PATCH 0/4] Remove interrupt stack table usage from x86_64 kernel (v2)
- Index(es):
Relevant Pages
|