2006-01-10 02:59:19 +03:00
/*
* Mutexes : blocking mutual exclusion locks
*
* started by Ingo Molnar :
*
* Copyright ( C ) 2004 , 2005 , 2006 Red Hat , Inc . , Ingo Molnar < mingo @ redhat . com >
*
* This file contains mutex debugging related internal prototypes , for the
* ! CONFIG_DEBUG_MUTEXES case . Most of them are NOPs :
*/
2006-06-26 11:24:31 +04:00
# define spin_lock_mutex(lock, flags) \
do { spin_lock ( lock ) ; ( void ) ( flags ) ; } while ( 0 )
# define spin_unlock_mutex(lock, flags) \
do { spin_unlock ( lock ) ; ( void ) ( flags ) ; } while ( 0 )
2006-01-10 02:59:19 +03:00
# define mutex_remove_waiter(lock, waiter, ti) \
__list_del ( ( waiter ) - > list . prev , ( waiter ) - > list . next )
2009-01-12 16:01:47 +03:00
# ifdef CONFIG_SMP
static inline void mutex_set_owner ( struct mutex * lock )
{
2011-04-05 19:23:41 +04:00
lock - > owner = current ;
2009-01-12 16:01:47 +03:00
}
static inline void mutex_clear_owner ( struct mutex * lock )
{
lock - > owner = NULL ;
}
# else
static inline void mutex_set_owner ( struct mutex * lock )
{
}
static inline void mutex_clear_owner ( struct mutex * lock )
{
}
# endif
2006-01-10 02:59:19 +03:00
# define debug_mutex_wake_waiter(lock, waiter) do { } while (0)
# define debug_mutex_free_waiter(waiter) do { } while (0)
2006-07-03 11:24:33 +04:00
# define debug_mutex_add_waiter(lock, waiter, ti) do { } while (0)
2006-01-10 02:59:19 +03:00
# define debug_mutex_unlock(lock) do { } while (0)
2006-07-03 11:24:55 +04:00
# define debug_mutex_init(lock, name, key) do { } while (0)
2006-01-10 02:59:19 +03:00
2006-07-03 11:24:33 +04:00
static inline void
debug_mutex_lock_common ( struct mutex * lock , struct mutex_waiter * waiter )
{
}