Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq cleanups from Ingo Molnar: "This is a multi-arch cleanup series from Thomas Gleixner, which we kept to near the end of the merge window, to not interfere with architecture updates. This series (motivated by the -rt kernel) unifies more aspects of IRQ handling and generalizes PREEMPT_ACTIVE" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: preempt: Make PREEMPT_ACTIVE generic sparc: Use preempt_schedule_irq ia64: Use preempt_schedule_irq m32r: Use preempt_schedule_irq hardirq: Make hardirq bits generic m68k: Simplify low level interrupt handling code genirq: Prevent spurious detection for unconditionally polled interrupts
这个提交包含在:
@@ -108,7 +108,7 @@ need_resched:
|
||||
and #(0xf0>>1), r0 ! interrupts off (exception path)?
|
||||
cmp/eq #(0xf0>>1), r0
|
||||
bt noresched
|
||||
mov.l 3f, r0
|
||||
mov.l 1f, r0
|
||||
jsr @r0 ! call preempt_schedule_irq
|
||||
nop
|
||||
bra need_resched
|
||||
@@ -119,9 +119,7 @@ noresched:
|
||||
nop
|
||||
|
||||
.align 2
|
||||
1: .long PREEMPT_ACTIVE
|
||||
2: .long schedule
|
||||
3: .long preempt_schedule_irq
|
||||
1: .long preempt_schedule_irq
|
||||
#endif
|
||||
|
||||
ENTRY(resume_userspace)
|
||||
|
在新工单中引用
屏蔽一个用户