lkml.org 
[lkml]   [2010]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 2/2] x86 NMI-safe INT3 and Page Fault
    On 07/16/2010 09:37 PM, Linus Torvalds wrote:
    > On Fri, Jul 16, 2010 at 11:28 AM, Avi Kivity<avi@redhat.com> wrote:
    >
    >> Use kmalloc and percpu pointers, it's not that onerous.
    >>
    > What people don't seem to understand is that WE SHOULD NOT MAKE NMI
    > FORCE US TO DO "STRANGE" CODE IN CODE-PATHS THAT HAVE NOTHING
    > WHAT-SO-EVER TO DO WITH NMI.
    >
    > I'm shouting, because this point seems to have been continually
    > missed. It was missed in the original patches, and it's been missed in
    > the discussions.
    >
    > Non-NMI code should simply never have to even _think_ about NMI's. Why
    > should it? It should just do whatever comes "natural" within its own
    > context.
    >
    >

    But we're not talking about non-NMI code. The 8k referred to in the
    original patch are buffers used by NMI stack recording. Module code
    vmalloc_sync_all() is only need by code that is executed during NMI,
    hence must be NMI aware.

    > This is why I've been pushing for the "let's just fix NMI" approach.
    > Not adding random hacks to other code sequences that have nothing
    > what-so-ever to do with NMI.
    >

    "fixing NMI" will result in code that is understandable by maybe three
    people after long and hard thinking. NMI can happen in too many
    semi-defined contexts, so there will be plenty of edge cases. I'm not
    sure we can ever trust such trickery.

    > So don't add NMI code to the page fault code. Not to the debug code,
    > or to the module loading code. Don't say "use special allocations
    > because the NMI code may care about these particular data structures".
    > Because that way lies crap and unmaintainability.
    >

    If NMI code can call random hooks and access random data, yes. But I
    don't think we're at that point yet.


    --
    I have a truly marvellous patch that fixes the bug which this
    signature is too narrow to contain.



    \
     
     \ /
      Last update: 2010-07-16 21:31    [W:0.025 / U:90.460 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site