microblaze: entry: Remove unneeded need_resched() loop
authorValentin Schneider <valentin.schneider@arm.com>
Mon, 23 Sep 2019 14:36:16 +0000 (15:36 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 8 Oct 2019 09:03:34 +0000 (11:03 +0200)
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.

Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Cc: Michal Simek <monstr@monstr.eu>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/microblaze/kernel/entry.S

index 4e1b567..de7083b 100644 (file)
@@ -738,14 +738,9 @@ no_intr_resched:
        andi    r5, r5, _TIF_NEED_RESCHED;
        beqi    r5, restore /* if zero jump over */
 
-preempt:
        /* interrupts are off that's why I am calling preempt_chedule_irq */
        bralid  r15, preempt_schedule_irq
        nop
-       lwi     r11, CURRENT_TASK, TS_THREAD_INFO;      /* get thread info */
-       lwi     r5, r11, TI_FLAGS;              /* get flags in thread info */
-       andi    r5, r5, _TIF_NEED_RESCHED;
-       bnei    r5, preempt /* if non zero jump to resched */
 restore:
 #endif
        VM_OFF /* MS: turn off MMU */