lkml.org 
[lkml]   [2011]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[RESEND] [RFC][PATCH X86_32 1/2]: Call do_notify_resume() with interrupts enabled
    do_notify_resume() gets called with interrupts disabled on x86_32. This
    is different from the x86_64 behavior, where interrupts are enabled at
    the time.

    Queries on lkml on this issue hasn't yielded any clear answer. Lets make
    x86_32 behave the same as x86_64, unless there is a real reason to
    maintain status quo.

    Please refer https://lkml.org/lkml/2011/9/27/130 for more details

    A similar change was suggested in arm
    https://lkml.org/lkml/2011/8/25/231

    My 32-bit machine works fine (tm) with the patch below

    Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    ---
    arch/x86/kernel/entry_32.S | 4 ++++
    1 files changed, 4 insertions(+)

    diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
    index f3f6f53..22d0e21 100644
    --- a/arch/x86/kernel/entry_32.S
    +++ b/arch/x86/kernel/entry_32.S
    @@ -625,6 +625,8 @@ work_notifysig: # deal with pending signals and
    movl %esp, %eax
    jne work_notifysig_v86 # returning to kernel-space or
    # vm86-space
    + TRACE_IRQS_ON
    + ENABLE_INTERRUPTS(CLBR_NONE)
    xorl %edx, %edx
    call do_notify_resume
    jmp resume_userspace_sig
    @@ -638,6 +640,8 @@ work_notifysig: # deal with pending signals and
    #else
    movl %esp, %eax
    #endif
    + TRACE_IRQS_ON
    + ENABLE_INTERRUPTS(CLBR_NONE)
    xorl %edx, %edx
    call do_notify_resume
    jmp resume_userspace_sig


    \
     
     \ /
      Last update: 2011-10-25 16:55    [W:0.023 / U:30.744 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site