Re: [PATCH v2 5/9] microblaze: entry: Remove unneeded need_resched() loop

From: Michal Simek
Date: Tue Sep 24 2019 - 06:30:15 EST


On 23. 09. 19 16:36, Valentin Schneider wrote:
> 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@xxxxxxx>
> Cc: Michal Simek <monstr@xxxxxxxxx>
> ---
> arch/microblaze/kernel/entry.S | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S
> index 4e1b567becd6..de7083bd1d24 100644
> --- a/arch/microblaze/kernel/entry.S
> +++ b/arch/microblaze/kernel/entry.S
> @@ -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 */
>

Looks reasonable and also tested on HW. I expect you want me to take it
via microblaze tree that's why applied.

Thanks,
Michal

--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs