lkml.org 
[lkml]   [2013]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 4/6] ia64: Use preempt_schedule_irq
    Use the proper core function instead of fiddling with PREEMPT_ACTIVE
    and enable/disable interrupts in the low level code.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Fenghua Yu <fenghua.yu@intel.com>
    Cc: linux-ia64@vger.kernel.org

    ---
    arch/ia64/kernel/entry.S | 15 +--------------
    1 file changed, 1 insertion(+), 14 deletions(-)

    Index: linux-2.6/arch/ia64/kernel/entry.S
    ===================================================================
    --- linux-2.6.orig/arch/ia64/kernel/entry.S
    +++ linux-2.6/arch/ia64/kernel/entry.S
    @@ -1169,21 +1169,8 @@ skip_rbs_switch:
    .work_pending:
    tbit.z p6,p0=r31,TIF_NEED_RESCHED // is resched not needed?
    (p6) br.cond.sptk.few .notify
    -#ifdef CONFIG_PREEMPT
    -(pKStk) dep r21=-1,r0,PREEMPT_ACTIVE_BIT,1
    - ;;
    -(pKStk) st4 [r20]=r21
    -#endif
    - SSM_PSR_I(p0, p6, r2) // enable interrupts
    - br.call.spnt.many rp=schedule
    + br.call.spnt.many rp=preempt_schedule_irq
    .ret9: cmp.eq p6,p0=r0,r0 // p6 <- 1 (re-check)
    - RSM_PSR_I(p0, r2, r20) // disable interrupts
    - ;;
    -#ifdef CONFIG_PREEMPT
    -(pKStk) adds r20=TI_PRE_COUNT+IA64_TASK_SIZE,r13
    - ;;
    -(pKStk) st4 [r20]=r0 // preempt_count() <- 0
    -#endif
    (pLvSys)br.cond.sptk.few __paravirt_pending_syscall_end
    br.cond.sptk.many .work_processed_kernel




    \
     
     \ /
      Last update: 2013-09-17 21:01    [W:2.891 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site