|
@@ -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
|
|
|
|