[PATCH] mutex subsystem, core
[linux-3.10.git] / kernel / mutex.h
1 /*
2  * Mutexes: blocking mutual exclusion locks
3  *
4  * started by Ingo Molnar:
5  *
6  *  Copyright (C) 2004, 2005, 2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
7  *
8  * This file contains mutex debugging related internal prototypes, for the
9  * !CONFIG_DEBUG_MUTEXES case. Most of them are NOPs:
10  */
11
12 #define spin_lock_mutex(lock)                   spin_lock(lock)
13 #define spin_unlock_mutex(lock)                 spin_unlock(lock)
14 #define mutex_remove_waiter(lock, waiter, ti) \
15                 __list_del((waiter)->list.prev, (waiter)->list.next)
16
17 #define DEBUG_WARN_ON(c)                                do { } while (0)
18 #define debug_mutex_set_owner(lock, new_owner)          do { } while (0)
19 #define debug_mutex_clear_owner(lock)                   do { } while (0)
20 #define debug_mutex_init_waiter(waiter)                 do { } while (0)
21 #define debug_mutex_wake_waiter(lock, waiter)           do { } while (0)
22 #define debug_mutex_free_waiter(waiter)                 do { } while (0)
23 #define debug_mutex_add_waiter(lock, waiter, ti, ip)    do { } while (0)
24 #define debug_mutex_unlock(lock)                        do { } while (0)
25 #define debug_mutex_init(lock, name)                    do { } while (0)
26
27 /*
28  * Return-address parameters/declarations. They are very useful for
29  * debugging, but add overhead in the !DEBUG case - so we go the
30  * trouble of using this not too elegant but zero-cost solution:
31  */
32 #define __IP_DECL__
33 #define __IP__
34 #define __RET_IP__
35