[PATCH v2 16/19] ARC: [plat-eznps] Use dedicated cpu_relax()

Peter Zijlstra peterz at infradead.org
Mon Nov 9 04:51:47 PST 2015


On Mon, Nov 09, 2015 at 05:57:25PM +0530, Vineet Gupta wrote:
> From e29de8efa621b825891dcc744c84965b38f6b868 Mon Sep 17 00:00:00 2001
> From: Vineet Gupta <vgupta at synopsys.com>
> Date: Mon, 9 Nov 2015 17:48:34 +0530
> Subject: [PATCH] ARC: cpu_relax() to be compiler barrier even for UP
> 
> cpu_relax() on ARC has been barrier only for SMP (and no-op for UP). Per
> recent discussions, it is safer to make it a compiler barrier
> unconditionally.
> 
> Link: http://lkml.kernel.org/r/53A7D3AA.9020100@synopsys.com

Acked-by: Peter Zijlstra (Intel) <peterz at infradead.org>

> Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
> ---
>  arch/arc/include/asm/processor.h | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/arch/arc/include/asm/processor.h b/arch/arc/include/asm/processor.h
> index 44545354e9e8..1d694c1ef6d6 100644
> --- a/arch/arc/include/asm/processor.h
> +++ b/arch/arc/include/asm/processor.h
> @@ -57,11 +57,7 @@ struct task_struct;
>   * A lot of busy-wait loops in SMP are based off of non-volatile data otherwise
>   * get optimised away by gcc
>   */
> -#ifdef CONFIG_SMP
>  #define cpu_relax()	__asm__ __volatile__ ("" : : : "memory")
> -#else
> -#define cpu_relax()	do { } while (0)
> -#endif
> 
>  #define cpu_relax_lowlatency() cpu_relax()
> 
> -- 
> 1.9.1
> 



More information about the linux-snps-arc mailing list