forked from Minki/linux
ARC: [plat-eznps] spinlock aware for MTM
This way when we execute "ex" during trying to hold lock we can switch to other HW thread and utilize the core intead of just spinning on a lock. We noticed about 10% improvement of execution time with hackbench test. Signed-off-by: Noam Camus <noamca@mellanox.com> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
This commit is contained in:
parent
c2bdac146b
commit
1112c3b2ce
@ -252,9 +252,15 @@ static inline void arch_spin_lock(arch_spinlock_t *lock)
|
||||
|
||||
__asm__ __volatile__(
|
||||
"1: ex %0, [%1] \n"
|
||||
#ifdef CONFIG_EZNPS_MTM_EXT
|
||||
" .word %3 \n"
|
||||
#endif
|
||||
" breq %0, %2, 1b \n"
|
||||
: "+&r" (val)
|
||||
: "r"(&(lock->slock)), "ir"(__ARCH_SPIN_LOCK_LOCKED__)
|
||||
#ifdef CONFIG_EZNPS_MTM_EXT
|
||||
, "i"(CTOP_INST_SCHD_RW)
|
||||
#endif
|
||||
: "memory");
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user