From: Ingo Molnar <mingo@elte.hu>
To: Avi Kivity <avi@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
jeremy@goop.org, linux-kernel@vger.kernel.org,
kvm@vger.kernel.org
Subject: Re: [PATCH 0/4] Remove interrupt stack table usage from x86_64 kernel (v2)
Date: Fri, 26 Dec 2008 15:35:17 +0100 [thread overview]
Message-ID: <20081226143517.GA25668@elte.hu> (raw)
In-Reply-To: <1230301344-570-1-git-send-email-avi@redhat.com>
* Avi Kivity <avi@redhat.com> 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
next prev parent reply other threads:[~2008-12-26 14:35 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-26 14:22 [PATCH 0/4] Remove interrupt stack table usage from x86_64 kernel (v2) Avi Kivity
2008-12-26 14:22 ` [PATCH 1/4] x86: drop the use of the tss interrupt stack table (IST) Avi Kivity
2008-12-26 14:22 ` [PATCH 2/4] x86: Consolidate irq stack switching to a single macro Avi Kivity
2008-12-26 14:22 ` [PATCH 3/4] x86: Make interrupt stack switching atomic Avi Kivity
2008-12-26 14:22 ` [PATCH 4/4] x86: Move NMI back to interrupt stack Avi Kivity
2008-12-26 14:35 ` Ingo Molnar [this message]
2008-12-26 14:38 ` [PATCH 0/4] Remove interrupt stack table usage from x86_64 kernel (v2) Ingo Molnar
2008-12-27 21:42 ` Avi Kivity
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081226143517.GA25668@elte.hu \
--to=mingo@elte.hu \
--cc=avi@redhat.com \
--cc=hpa@zytor.com \
--cc=jeremy@goop.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox