ARC: [plat-eznps] Use dedicated cpu_relax()
authorTal Zilcer <talz@ezchip.com>
Mon, 9 Mar 2015 14:58:39 +0000 (16:58 +0200)
committerVineet Gupta <vgupta@synopsys.com>
Mon, 9 May 2016 04:02:33 +0000 (09:32 +0530)
commit46c3e6b8768643d9bc7325324d17e37781b7bbf8
tree5445aadde2958c2ec23bc7947969e980208a481f
parent86c25466f7414d6396f1aaa13e4b34f36ec272d5
ARC: [plat-eznps] Use dedicated cpu_relax()

Since the CTOP is SMT hardware multi-threaded, we need to hint
the HW that now will be a very good time to do a hardware
thread context switching. This is done by issuing the schd.rw
instruction (binary coded here so as to not require specific
revision of GCC to build the kernel).
sched.rw means that Thread becomes eligible for execution by
the threads scheduler after all pending read/write
transactions were completed.

Implementing cpu_relax_lowlatency() with barrier()
Since with current semantics of cpu_relax() it may take a
while till yielded CPU will get back.

Signed-off-by: Noam Camus <noamc@ezchip.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Acked-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/processor.h