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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]