All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] MIPS: cmpxchg(), xchg() fixes & queued locks
@ 2017-06-10  0:26 ` Paul Burton
  0 siblings, 0 replies; 32+ messages in thread
From: Paul Burton @ 2017-06-10  0:26 UTC (permalink / raw)
  To: linux-mips; +Cc: Ralf Baechle, Paul Burton

This series makes a bunch of cleanups & improvements to the cmpxchg() &
xchg() macros & functions, allowing them to be used on values smaller
than 4 bytes, then switches MIPS over to use generic queued spinlocks &
queued read/write locks.

Applies atop v4.12-rc4.

Paul Burton (11):
  MIPS: cmpxchg: Unify R10000_LLSC_WAR & non-R10000_LLSC_WAR cases
  MIPS: cmpxchg: Pull xchg() asm into a macro
  MIPS: cmpxchg: Use __compiletime_error() for bad cmpxchg() pointers
  MIPS: cmpxchg: Error out on unsupported xchg() calls
  MIPS: cmpxchg: Drop __xchg_u{32,64} functions
  MIPS: cmpxchg: Implement __cmpxchg() as a function
  MIPS: cmpxchg: Implement 1 byte & 2 byte xchg()
  MIPS: cmpxchg: Implement 1 byte & 2 byte cmpxchg()
  MIPS: cmpxchg: Rearrange __xchg() arguments to match xchg()
  MIPS: Use queued read/write locks (qrwlock)
  MIPS: Use queued spinlocks (qspinlock)

 arch/mips/Kconfig                      |   2 +
 arch/mips/include/asm/Kbuild           |   2 +
 arch/mips/include/asm/cmpxchg.h        | 280 ++++++++++------------
 arch/mips/include/asm/spinlock.h       | 426 +--------------------------------
 arch/mips/include/asm/spinlock_types.h |  34 +--
 arch/mips/kernel/Makefile              |   2 +-
 arch/mips/kernel/cmpxchg.c             | 109 +++++++++
 7 files changed, 239 insertions(+), 616 deletions(-)
 create mode 100644 arch/mips/kernel/cmpxchg.c

-- 
2.13.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2020-11-06 16:28 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-10  0:26 [PATCH 00/11] MIPS: cmpxchg(), xchg() fixes & queued locks Paul Burton
2017-06-10  0:26 ` Paul Burton
2017-06-10  0:26 ` [PATCH 01/11] MIPS: cmpxchg: Unify R10000_LLSC_WAR & non-R10000_LLSC_WAR cases Paul Burton
2017-06-10  0:26   ` Paul Burton
2017-06-10 23:25   ` Joshua Kinard
2017-06-12 19:02     ` Paul Burton
2017-06-12 19:02       ` Paul Burton
2017-06-10  0:26 ` [PATCH 02/11] MIPS: cmpxchg: Pull xchg() asm into a macro Paul Burton
2017-06-10  0:26   ` Paul Burton
2017-06-10  0:26 ` [PATCH 03/11] MIPS: cmpxchg: Use __compiletime_error() for bad cmpxchg() pointers Paul Burton
2017-06-10  0:26   ` Paul Burton
2017-06-10  0:26 ` [PATCH 04/11] MIPS: cmpxchg: Error out on unsupported xchg() calls Paul Burton
2017-06-10  0:26   ` Paul Burton
2017-06-10  0:26 ` [PATCH 05/11] MIPS: cmpxchg: Drop __xchg_u{32,64} functions Paul Burton
2017-06-10  0:26   ` Paul Burton
2017-06-10  0:26 ` [PATCH 06/11] MIPS: cmpxchg: Implement __cmpxchg() as a function Paul Burton
2017-06-10  0:26   ` Paul Burton
2017-06-10  0:26 ` [PATCH 07/11] MIPS: cmpxchg: Implement 1 byte & 2 byte xchg() Paul Burton
2017-06-10  0:26   ` Paul Burton
2017-06-10  0:26 ` [PATCH 08/11] MIPS: cmpxchg: Implement 1 byte & 2 byte cmpxchg() Paul Burton
2017-06-10  0:26   ` Paul Burton
2017-06-10  0:26 ` [PATCH 09/11] MIPS: cmpxchg: Rearrange __xchg() arguments to match xchg() Paul Burton
2017-06-10  0:26   ` Paul Burton
2017-06-10  0:26 ` [PATCH 10/11] MIPS: Use queued read/write locks (qrwlock) Paul Burton
2017-06-10  0:26   ` Paul Burton
2017-06-10  0:26 ` [PATCH 11/11] MIPS: Use queued spinlocks (qspinlock) Paul Burton
2017-06-10  0:26   ` Paul Burton
2020-11-06 16:28   ` Alexander Sverdlin
2017-06-12  8:27 ` [PATCH 00/11] MIPS: cmpxchg(), xchg() fixes & queued locks Ralf Baechle
2017-06-12 22:47   ` Paul Burton
2017-06-12 22:47     ` Paul Burton
2017-06-29 10:28 ` Joshua Kinard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.