mirror of
https://github.com/torvalds/linux.git
synced 2026-09-25 21:21:09 -04:00
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 <[email protected]> Cc: Tony Luck <[email protected]> Cc: Fenghua Yu <[email protected]> Cc: [email protected] Link: http://lkml.kernel.org/r/[email protected]
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user