From: Thomas Gleixner Make use of the new preempt_schedule_irq function. Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton --- 25-akpm/arch/arm/kernel/entry-armv.S | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) diff -puN arch/arm/kernel/entry-armv.S~sched-make-use-of-preempt_schedule_irq-arm arch/arm/kernel/entry-armv.S --- 25/arch/arm/kernel/entry-armv.S~sched-make-use-of-preempt_schedule_irq-arm Wed Jan 12 16:03:44 2005 +++ 25-akpm/arch/arm/kernel/entry-armv.S Wed Jan 12 16:03:44 2005 @@ -136,11 +136,9 @@ svc_preempt: teq r9, #0 @ was preempt ldr r1, [r6, #8] @ local_bh_count adds r0, r0, r1 movne pc, lr - mov r7, #PREEMPT_ACTIVE - str r7, [r8, #TI_PREEMPT] @ set PREEMPT_ACTIVE -1: enable_irq r2 @ enable IRQs - bl schedule - disable_irq r0 @ disable IRQs + mov r7, #0 @ preempt_schedule_irq + str r7, [r8, #TI_PREEMPT] @ expects preempt_count == 0 +1: bl preempt_schedule_irq @ irq en/disable is done inside ldr r0, [r8, #TI_FLAGS] @ get new tasks TI_FLAGS tst r0, #_TIF_NEED_RESCHED beq preempt_return @ go again _