[patch 0/8] mutex subsystem, -V6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux