mutex subsystem, -V6
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest8 patches 8 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/8 | mutex subsystem, add atomic_xchg() to all archesinclude/ include/ include/ +19 more | +29 | 0 replies | |
| 2/8 | mutex subsystem, add asm-generic/mutex-[dec|xchg].h implementationsinclude/ include/ | +137 | 2 replies | |
| 3/8 | mutex subsystem, add per-arch mutex.h filesinclude/ include/ include/ +20 more | +370 | 0 replies | |
| 4/8 | mutex subsystem, coreinclude/ kernel/ kernel/ | +620 | 0 replies | |
| 5/8 | mutex subsystem, documentationDocumentation/ | +126 | 0 replies | |
| 6/8 | mutex subsystem, debugging codeinclude/ include/ kernel/ +2 more | +565 | 0 replies | |
| 7/8 | mutex subsystem, more debugging codearch/ drivers/ include/ +4 more | +37 | 0 replies | |
| 8/8 | mutex subsystem, XFS namespace collision fixesfs/ fs/ fs/ +8 more | +52 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [patch 0/8] mutex subsystem, -V6
this is verion -V6 of the generic mutex subsystem. It consists of the following patches:
add-atomic-xchg.patch
mutex-generic-asm-implementations.patch
mutex-arch-mutex-h.patch
mutex-core.patch
mutex-docs.patch
mutex-debug.patch
mutex-debug-more.patch
xfs-mutex-namespace-collision-fix.patch
the patches are against Linus' latest GIT tree, and they should work fine on every Linux architecture.
the delta since -V5:
53 files changed, 718 insertions(+), 454 deletions(-)
this release picks up Arjan's asm/mutex.h implementation, which adds asm-generic/mutex-dec.h, asm-generic/mutex-xchg.h for architectures to pick up. i386 and x86_64 use their own optimized version already, the other architectures default to mutex-xchg.h. Architectures specify the following functions:
-------------------------------------------------------------------
* __mutex_fastpath_lock - try to take the lock by moving the count
* from 1 to a 0 value
* @count: pointer of type atomic_t
* @fn: function to call if the original value was not 1
-------------------------------------------------------------------
* __mutex_fastpath_lock_retval - try to take the lock by moving the count
* from 1 to a 0 value
* @count: pointer of type atomic_t
* @fn: function to call if the original value was not 1
-------------------------------------------------------------------
* __mutex_fastpath_unlock - try to promote the mutex from 0 to 1 * @count: pointer of type atomic_t * @fn: function to call if the original value was not 1
-------------------------------------------------------------------
and __mutex_slowpath_needs_to_unlock(), to specify whether the fastpath has touched the count or not.
i have tested this on x86, and i have booted all 4 variants:mutex-xchg.h, mutex-dec.h, asm-i386/mutex.h and the debug version. (in MUTEX_DEBUG_FULL mode, i.e. with the mutexes in real use.)
Nico, Christoph, does this approach work for you? Nico, you might want to try an ARM-specific mutex.h implementation.
Ingo