diff options
author | Peter Zijlstra <peterz@infradead.org> | 2013-10-31 13:11:53 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-11-06 01:55:07 -0500 |
commit | 01768b42dc97a67b4fb33a2535c49fc1969880df (patch) | |
tree | 448a1aff2286e8e9752124964e725d7bd5d3dba8 /kernel/mutex-debug.h | |
parent | c90423d1de12fbeaf0c898e1db0e962de347302b (diff) |
locking: Move the mutex code to kernel/locking/
Suggested-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/n/tip-1ditvncg30dgbpvrz2bxfmke@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/mutex-debug.h')
-rw-r--r-- | kernel/mutex-debug.h | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/kernel/mutex-debug.h b/kernel/mutex-debug.h deleted file mode 100644 index 0799fd3e4cfa..000000000000 --- a/kernel/mutex-debug.h +++ /dev/null | |||
@@ -1,55 +0,0 @@ | |||
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 declarations, | ||
9 | * prototypes and inline functions, for the CONFIG_DEBUG_MUTEXES case. | ||
10 | * More details are in kernel/mutex-debug.c. | ||
11 | */ | ||
12 | |||
13 | /* | ||
14 | * This must be called with lock->wait_lock held. | ||
15 | */ | ||
16 | extern void debug_mutex_lock_common(struct mutex *lock, | ||
17 | struct mutex_waiter *waiter); | ||
18 | extern void debug_mutex_wake_waiter(struct mutex *lock, | ||
19 | struct mutex_waiter *waiter); | ||
20 | extern void debug_mutex_free_waiter(struct mutex_waiter *waiter); | ||
21 | extern void debug_mutex_add_waiter(struct mutex *lock, | ||
22 | struct mutex_waiter *waiter, | ||
23 | struct thread_info *ti); | ||
24 | extern void mutex_remove_waiter(struct mutex *lock, struct mutex_waiter *waiter, | ||
25 | struct thread_info *ti); | ||
26 | extern void debug_mutex_unlock(struct mutex *lock); | ||
27 | extern void debug_mutex_init(struct mutex *lock, const char *name, | ||
28 | struct lock_class_key *key); | ||
29 | |||
30 | static inline void mutex_set_owner(struct mutex *lock) | ||
31 | { | ||
32 | lock->owner = current; | ||
33 | } | ||
34 | |||
35 | static inline void mutex_clear_owner(struct mutex *lock) | ||
36 | { | ||
37 | lock->owner = NULL; | ||
38 | } | ||
39 | |||
40 | #define spin_lock_mutex(lock, flags) \ | ||
41 | do { \ | ||
42 | struct mutex *l = container_of(lock, struct mutex, wait_lock); \ | ||
43 | \ | ||
44 | DEBUG_LOCKS_WARN_ON(in_interrupt()); \ | ||
45 | local_irq_save(flags); \ | ||
46 | arch_spin_lock(&(lock)->rlock.raw_lock);\ | ||
47 | DEBUG_LOCKS_WARN_ON(l->magic != l); \ | ||
48 | } while (0) | ||
49 | |||
50 | #define spin_unlock_mutex(lock, flags) \ | ||
51 | do { \ | ||
52 | arch_spin_unlock(&(lock)->rlock.raw_lock); \ | ||
53 | local_irq_restore(flags); \ | ||
54 | preempt_check_resched(); \ | ||
55 | } while (0) | ||