lkml.org 
[lkml]   [2010]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [patch 1/2] x86_64 page fault NMI-safe
    From
    On Wed, Jul 14, 2010 at 3:51 PM, Jeremy Fitzhardinge <jeremy@goop.org> wrote:
    >
    > We screw around with iret because there's a separate interrupt mask flag
    > which can't be set atomically with respect to a stack/ring change (well,
    > there's more to it, but I won't confuse matters).

    Umm, I know. It's what this whole discussion (non-paravirtualized) is
    all about. And I have a suggestion that should fix the
    non-paravirtualized case _without_ actually touching anything but the
    NMI code itself.

    What I tried to say is that the paravirtualized people should take a
    look at my suggestion, and see if they can apply the logic to their
    NMI handling too. And in the process totally remove the need for
    paravirtualizing iret, exactly because the approach handles the magic
    NMI lock logic entirely in the NMI handler itself.

    Because I think the same thing that would make us not need to worry
    about nested page faults _during_ NMI (because we could make the NMI
    code do the right thing even when the hardware doesn't lock out NMI's
    for us) is also the exact same logic that the paravirt monitor could
    do for its own NMI handling.

    Wouldn't it be nice to be able to remove the need to paravirtualize iret?

    Linus


    \
     
     \ /
      Last update: 2010-07-15 01:05    [W:0.047 / U:35.148 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site