public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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