Messages in this thread Patch in this message | | | From | Alexander A Sverdlin <> | Subject | [PATCH 3/6] MIPS: Octeon: qspinlock: Flush write buffer | Date | Wed, 27 Jan 2021 21:36:24 +0100 |
| |
From: Alexander Sverdlin <alexander.sverdlin@nokia.com>
Flushing the write buffer brings aroung 10% performace on the tight uncontended spinlock loops on Octeon. Refer to commit 500c2e1fdbcc ("MIPS: Optimize spinlocks.").
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@nokia.com> --- arch/mips/include/asm/spinlock.h | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/arch/mips/include/asm/spinlock.h b/arch/mips/include/asm/spinlock.h index 8a88eb2..0a707f3 100644 --- a/arch/mips/include/asm/spinlock.h +++ b/arch/mips/include/asm/spinlock.h @@ -24,6 +24,9 @@ static inline void queued_spin_unlock(struct qspinlock *lock) /* This could be optimised with ARCH_HAS_MMIOWB */ mmiowb(); smp_store_release(&lock->locked, 0); +#ifdef CONFIG_CPU_CAVIUM_OCTEON + nudge_writes(); +#endif } #include <asm/qspinlock.h> -- 2.10.2
| |