lkml.org 
[lkml]   [2008]   [Dec]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/4] Remove interrupt stack table usage from x86_64 kernel (v2)

    * 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


    \
     
     \ /
      Last update: 2008-12-26 15:39    [W:0.027 / U:0.580 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site