mutex-null.h 806 B

123456789101112131415161718192021222324
  1. /*
  2. * asm-generic/mutex-null.h
  3. *
  4. * Generic implementation of the mutex fastpath, based on NOP :-)
  5. *
  6. * This is used by the mutex-debugging infrastructure, but it can also
  7. * be used by architectures that (for whatever reason) want to use the
  8. * spinlock based slowpath.
  9. */
  10. #ifndef _ASM_GENERIC_MUTEX_NULL_H
  11. #define _ASM_GENERIC_MUTEX_NULL_H
  12. /* extra parameter only needed for mutex debugging: */
  13. #ifndef __IP__
  14. # define __IP__
  15. #endif
  16. #define __mutex_fastpath_lock(count, fail_fn) fail_fn(count __RET_IP__)
  17. #define __mutex_fastpath_lock_retval(count, fail_fn) fail_fn(count __RET_IP__)
  18. #define __mutex_fastpath_unlock(count, fail_fn) fail_fn(count __RET_IP__)
  19. #define __mutex_fastpath_trylock(count, fail_fn) fail_fn(count)
  20. #define __mutex_slowpath_needs_to_unlock() 1
  21. #endif