Hi Valentin,

On 31/01/2019 18:23, 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 <[email protected]>
> Cc: Russell King <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Will Deacon <[email protected]>
> Cc: Julien Thierry <[email protected]>
> Cc: [email protected]

Reviewed-by: Julien Thierry <[email protected]>

Cheers,

> ---
>  arch/arm/kernel/entry-armv.S | 12 +-----------
>  1 file changed, 1 insertion(+), 11 deletions(-)
> 
> diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
> index e85a3af9ddeb..a7ac22e09bb2 100644
> --- a/arch/arm/kernel/entry-armv.S
> +++ b/arch/arm/kernel/entry-armv.S
> @@ -220,7 +220,7 @@ __irq_svc:
>       teq     r8, #0                          @ if preempt count != 0
>       movne   r0, #0                          @ force flags to 0
>       tst     r0, #_TIF_NEED_RESCHED
> -     blne    svc_preempt
> +     blne    preempt_schedule_irq            @ irq en/disable is done inside
>  #endif
>  
>       svc_exit r5, irq = 1                    @ return from exception
> @@ -229,16 +229,6 @@ ENDPROC(__irq_svc)
>  
>       .ltorg
>  
> -#ifdef CONFIG_PREEMPT
> -svc_preempt:
> -     mov     r8, lr
> -1:   bl      preempt_schedule_irq            @ irq en/disable is done inside
> -     ldr     r0, [tsk, #TI_FLAGS]            @ get new tasks TI_FLAGS
> -     tst     r0, #_TIF_NEED_RESCHED
> -     reteq   r8                              @ go again
> -     b       1b
> -#endif
> -
>  __und_fault:
>       @ Correct the PC such that it is pointing at the instruction
>       @ which caused the fault.  If the faulting instruction was ARM
> 

-- 
Julien Thierry

Reply via email to