ARC: cpu_relax() to be compiler barrier even for UP
authorVineet Gupta <vgupta@synopsys.com>
Mon, 9 Nov 2015 12:18:34 +0000 (17:48 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Sat, 14 Nov 2015 07:42:30 +0000 (13:12 +0530)
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 <peterz@infradead.org>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/processor.h

index 4454535..1d694c1 100644 (file)
@@ -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()