Browse Source

ARC: spinlock: Document the EX based spin_unlock

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Vineet Gupta 9 years ago
parent
commit
c2bdac146b
1 changed files with 6 additions and 0 deletions
  1. 6 0
      arch/arc/include/asm/spinlock.h

+ 6 - 0
arch/arc/include/asm/spinlock.h

@@ -296,6 +296,12 @@ static inline void arch_spin_unlock(arch_spinlock_t *lock)
 	 */
 	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__(
 	"	ex  %0, [%1]		\n"
 	: "+r" (val)