diff options
Diffstat (limited to 'include/linux/mutex.h')
| -rw-r--r-- | include/linux/mutex.h | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/include/linux/mutex.h b/include/linux/mutex.h index ccd4260834c..42aa9b9ecd5 100644 --- a/include/linux/mutex.h +++ b/include/linux/mutex.h @@ -15,8 +15,9 @@  #include <linux/spinlock_types.h>  #include <linux/linkage.h>  #include <linux/lockdep.h> -  #include <linux/atomic.h> +#include <asm/processor.h> +#include <linux/osq_lock.h>  /*   * Simple, straightforward mutexes with strict semantics: @@ -55,7 +56,7 @@ struct mutex {  	struct task_struct	*owner;  #endif  #ifdef CONFIG_MUTEX_SPIN_ON_OWNER -	void			*spin_mlock;	/* Spinner MCS lock */ +	struct optimistic_spin_queue osq; /* Spinner MCS lock */  #endif  #ifdef CONFIG_DEBUG_MUTEXES  	const char 		*name; @@ -131,7 +132,7 @@ static inline int mutex_is_locked(struct mutex *lock)  }  /* - * See kernel/mutex.c for detailed documentation of these APIs. + * See kernel/locking/mutex.c for detailed documentation of these APIs.   * Also see Documentation/mutex-design.txt.   */  #ifdef CONFIG_DEBUG_LOCK_ALLOC @@ -175,8 +176,8 @@ extern void mutex_unlock(struct mutex *lock);  extern int atomic_dec_and_mutex_lock(atomic_t *cnt, struct mutex *lock); -#ifndef CONFIG_HAVE_ARCH_MUTEX_CPU_RELAX -#define arch_mutex_cpu_relax()	cpu_relax() +#ifndef arch_mutex_cpu_relax +# define arch_mutex_cpu_relax() cpu_relax()  #endif -#endif +#endif /* __LINUX_MUTEX_H */  | 
