Messages in this thread Patch in this message | | | From | Valentin Schneider <> | Subject | [PATCH 06/14] MIPS: entry: Remove unneeded need_resched() loop | Date | Mon, 11 Mar 2019 22:47:44 +0000 |
| |
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.
Do note that commit a18815abcdfd ("Use preempt_schedule_irq.") initially removed the existing loop, but commit cdaed73afb61 ("Fix preemption bug.") reintroduced it. It is however not clear what the issue was and why such a loop was reintroduced, so I'm probably missing something.
Signed-off-by: Valentin Schneider <valentin.schneider@arm.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Paul Burton <paul.burton@mips.com> Cc: James Hogan <jhogan@kernel.org> Cc: linux-mips@vger.kernel.org --- arch/mips/kernel/entry.S | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S index d7de8adcfcc8..2240faeda62a 100644 --- a/arch/mips/kernel/entry.S +++ b/arch/mips/kernel/entry.S @@ -58,7 +58,6 @@ resume_kernel: local_irq_disable lw t0, TI_PRE_COUNT($28) bnez t0, restore_all -need_resched: LONG_L t0, TI_FLAGS($28) andi t1, t0, _TIF_NEED_RESCHED beqz t1, restore_all @@ -66,7 +65,7 @@ need_resched: andi t0, 1 beqz t0, restore_all jal preempt_schedule_irq - b need_resched + j restore_all #endif FEXPORT(ret_from_kernel_thread) -- 2.20.1
| |