RISC-V: entry: Remove unneeded need_resched() loop
Since the enabling and disabling of IRQs within preempt_schedule_irq() is contained in a need_resched() loop, we don't need the outer arch code loop. Reviewed-by: Palmer Dabbelt <palmer@sifive.com> Signed-off-by: Valentin Schneider <valentin.schneider@arm.com> Cc: Albert Ou <aou@eecs.berkeley.edu> Cc: linux-riscv@lists.infradead.org Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
This commit is contained in:
committed by
Paul Walmsley
parent
8bb0daef64
commit
cd9e72b800
@@ -273,12 +273,11 @@ restore_all:
|
|||||||
resume_kernel:
|
resume_kernel:
|
||||||
REG_L s0, TASK_TI_PREEMPT_COUNT(tp)
|
REG_L s0, TASK_TI_PREEMPT_COUNT(tp)
|
||||||
bnez s0, restore_all
|
bnez s0, restore_all
|
||||||
need_resched:
|
|
||||||
REG_L s0, TASK_TI_FLAGS(tp)
|
REG_L s0, TASK_TI_FLAGS(tp)
|
||||||
andi s0, s0, _TIF_NEED_RESCHED
|
andi s0, s0, _TIF_NEED_RESCHED
|
||||||
beqz s0, restore_all
|
beqz s0, restore_all
|
||||||
call preempt_schedule_irq
|
call preempt_schedule_irq
|
||||||
j need_resched
|
j restore_all
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
work_pending:
|
work_pending:
|
||||||
|
Reference in New Issue
Block a user