Commit cd9e72b8 authored by Valentin Schneider's avatar Valentin Schneider Committed by Paul Walmsley

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: default avatarPalmer Dabbelt <palmer@sifive.com>
Signed-off-by: default avatarValentin Schneider <valentin.schneider@arm.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: linux-riscv@lists.infradead.org
Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
parent 8bb0daef
...@@ -273,12 +273,11 @@ restore_all: ...@@ -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:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment