提交 c2bdac14 编写于 作者: V Vineet Gupta

ARC: spinlock: Document the EX based spin_unlock

Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
上级 ab1e8660
...@@ -296,6 +296,12 @@ static inline void arch_spin_unlock(arch_spinlock_t *lock) ...@@ -296,6 +296,12 @@ static inline void arch_spin_unlock(arch_spinlock_t *lock)
*/ */
smp_mb(); smp_mb();
/*
* EX is not really required here, a simple STore of 0 suffices.
* However this causes tasklist livelocks in SystemC based SMP virtual
* platforms where the systemc core scheduler uses EX as a cue for
* moving to next core. Do a git log of this file for details
*/
__asm__ __volatile__( __asm__ __volatile__(
" ex %0, [%1] \n" " ex %0, [%1] \n"
: "+r" (val) : "+r" (val)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册