lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 27 Jan 2021 21:36:23 +0100 From: Alexander A Sverdlin <alexander.sverdlin@...ia.com> To: Paul Burton <paul.burton@...tec.com>, linux-mips@...r.kernel.org Cc: Alexander Sverdlin <alexander.sverdlin@...ia.com>, Thomas Bogendoerfer <tsbogend@...ha.franken.de>, Will Deacon <will@...nel.org>, Peter Zijlstra <peterz@...radead.org>, Boqun Feng <boqun.feng@...il.com>, Ingo Molnar <mingo@...hat.com>, linux-kernel@...r.kernel.org Subject: [PATCH 2/6] MIPS: Implement atomic_cmpxchg_relaxed() From: Alexander Sverdlin <alexander.sverdlin@...ia.com> This will save one SYNCW on Octeon and improve tight uncontended spinlock loop performance by 17%. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@...ia.com> --- arch/mips/include/asm/atomic.h | 3 +++ arch/mips/include/asm/cmpxchg.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/arch/mips/include/asm/atomic.h b/arch/mips/include/asm/atomic.h index f904084..a4e5116 100644 --- a/arch/mips/include/asm/atomic.h +++ b/arch/mips/include/asm/atomic.h @@ -264,4 +264,7 @@ ATOMIC_SIP_OP(atomic64, s64, dsubu, lld, scd) #undef ATOMIC_SIP_OP +#define atomic_cmpxchg_relaxed(v, o, n) \ + (cmpxchg_relaxed(&((v)->counter), (o), (n))) + #endif /* _ASM_ATOMIC_H */ diff --git a/arch/mips/include/asm/cmpxchg.h b/arch/mips/include/asm/cmpxchg.h index 5b0b3a6..620f01a 100644 --- a/arch/mips/include/asm/cmpxchg.h +++ b/arch/mips/include/asm/cmpxchg.h @@ -182,6 +182,8 @@ unsigned long __cmpxchg(volatile void *ptr, unsigned long old, (unsigned long)(__typeof__(*(ptr)))(new), \ sizeof(*(ptr)))) +#define cmpxchg_relaxed cmpxchg_local + #define cmpxchg(ptr, old, new) \ ({ \ __typeof__(*(ptr)) __res; \ -- 2.10.2
Powered by blists - more mailing lists