Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
rtmutex-debug.h
Go to the documentation of this file.
1 /*
2  * RT-Mutexes: blocking mutual exclusion locks with PI support
3  *
4  * started by Ingo Molnar and Thomas Gleixner:
5  *
6  * Copyright (C) 2004-2006 Red Hat, Inc., Ingo Molnar <[email protected]>
7  * Copyright (C) 2006, Timesys Corp., Thomas Gleixner <[email protected]>
8  *
9  * This file contains macros used solely by rtmutex.c. Debug version.
10  */
11 
12 extern void
17 extern void debug_rt_mutex_init(struct rt_mutex *lock, const char *name);
18 extern void debug_rt_mutex_lock(struct rt_mutex *lock);
19 extern void debug_rt_mutex_unlock(struct rt_mutex *lock);
20 extern void debug_rt_mutex_proxy_lock(struct rt_mutex *lock,
21  struct task_struct *powner);
22 extern void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock);
23 extern void debug_rt_mutex_deadlock(int detect, struct rt_mutex_waiter *waiter,
24  struct rt_mutex *lock);
26 # define debug_rt_mutex_reset_waiter(w) \
27  do { (w)->deadlock_lock = NULL; } while (0)
28 
29 static inline int debug_rt_mutex_detect_deadlock(struct rt_mutex_waiter *waiter,
30  int detect)
31 {
32  return (waiter != NULL);
33 }