[PARISC] Remove the spurious do_softirq calls from entry.S
remove the spurious do_softirq calls from entry.S With these in we were calling do_softirq twice; plus the calls in entry.S took no account of nesting. Signed-off-by: James Bottomley <jejb@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
This commit is contained in:
parent
63af965d2b
commit
dd0fd51dc1
|
@ -970,9 +970,6 @@ intr_return:
|
||||||
add %r19,%r20,%r19 /* now have &irq_stat[smp_processor_id()] */
|
add %r19,%r20,%r19 /* now have &irq_stat[smp_processor_id()] */
|
||||||
#endif /* CONFIG_SMP */
|
#endif /* CONFIG_SMP */
|
||||||
|
|
||||||
LDREG IRQSTAT_SIRQ_PEND(%r19),%r20 /* hardirq.h: unsigned long */
|
|
||||||
cmpib,<>,n 0,%r20,intr_do_softirq /* forward */
|
|
||||||
|
|
||||||
intr_check_resched:
|
intr_check_resched:
|
||||||
|
|
||||||
/* check for reschedule */
|
/* check for reschedule */
|
||||||
|
@ -1017,17 +1014,6 @@ intr_restore:
|
||||||
nop
|
nop
|
||||||
nop
|
nop
|
||||||
|
|
||||||
.import do_softirq,code
|
|
||||||
intr_do_softirq:
|
|
||||||
BL do_softirq,%r2
|
|
||||||
#ifdef CONFIG_64BIT
|
|
||||||
ldo -16(%r30),%r29 /* Reference param save area */
|
|
||||||
#else
|
|
||||||
nop
|
|
||||||
#endif
|
|
||||||
b intr_check_resched
|
|
||||||
nop
|
|
||||||
|
|
||||||
.import schedule,code
|
.import schedule,code
|
||||||
intr_do_resched:
|
intr_do_resched:
|
||||||
/* Only do reschedule if we are returning to user space */
|
/* Only do reschedule if we are returning to user space */
|
||||||
|
@ -2096,9 +2082,6 @@ syscall_check_bh:
|
||||||
add %r19,%r20,%r19 /* now have &irq_stat[smp_processor_id()] */
|
add %r19,%r20,%r19 /* now have &irq_stat[smp_processor_id()] */
|
||||||
#endif /* CONFIG_SMP */
|
#endif /* CONFIG_SMP */
|
||||||
|
|
||||||
LDREG IRQSTAT_SIRQ_PEND(%r19),%r20 /* hardirq.h: unsigned long */
|
|
||||||
cmpib,<>,n 0,%r20,syscall_do_softirq /* forward */
|
|
||||||
|
|
||||||
syscall_check_resched:
|
syscall_check_resched:
|
||||||
|
|
||||||
/* check for reschedule */
|
/* check for reschedule */
|
||||||
|
@ -2236,16 +2219,6 @@ pt_regs_ok:
|
||||||
b intr_restore
|
b intr_restore
|
||||||
nop
|
nop
|
||||||
|
|
||||||
.import do_softirq,code
|
|
||||||
syscall_do_softirq:
|
|
||||||
BL do_softirq,%r2
|
|
||||||
nop
|
|
||||||
/* NOTE: We enable I-bit incase we schedule later,
|
|
||||||
* and we might be going back to userspace if we were
|
|
||||||
* traced. */
|
|
||||||
b syscall_check_resched
|
|
||||||
ssm PSW_SM_I, %r0 /* do_softirq returns with I bit off */
|
|
||||||
|
|
||||||
.import schedule,code
|
.import schedule,code
|
||||||
syscall_do_resched:
|
syscall_do_resched:
|
||||||
BL schedule,%r2
|
BL schedule,%r2
|
||||||
|
|
Loading…
Reference in New Issue