projects
/
GitHub
/
LineageOS
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ab1e866
)
ARC: spinlock: Document the EX based spin_unlock
author
Vineet Gupta
<vgupta@synopsys.com>
Sat, 17 Oct 2015 09:59:59 +0000
(15:29 +0530)
committer
Vineet Gupta
<vgupta@synopsys.com>
Mon, 28 Aug 2017 22:17:36 +0000
(15:17 -0700)
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/spinlock.h
patch
|
blob
|
blame
|
history
diff --git
a/arch/arc/include/asm/spinlock.h
b/arch/arc/include/asm/spinlock.h
index 233d5ffe6ec779eb376e5beaf5a031fce6fa97c1..968c730ef114dec8f8f40ab4a13649b31374a443 100644
(file)
--- a/
arch/arc/include/asm/spinlock.h
+++ b/
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)