diff options
Diffstat (limited to 'kernel/lockdep.c')
-rw-r--r-- | kernel/lockdep.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/kernel/lockdep.c b/kernel/lockdep.c index 4f8df01dbe51..5feaddcdbe49 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c | |||
@@ -73,11 +73,11 @@ module_param(lock_stat, int, 0644); | |||
73 | * to use a raw spinlock - we really dont want the spinlock | 73 | * to use a raw spinlock - we really dont want the spinlock |
74 | * code to recurse back into the lockdep code... | 74 | * code to recurse back into the lockdep code... |
75 | */ | 75 | */ |
76 | static raw_spinlock_t lockdep_lock = (raw_spinlock_t)__RAW_SPIN_LOCK_UNLOCKED; | 76 | static arch_spinlock_t lockdep_lock = (arch_spinlock_t)__ARCH_SPIN_LOCK_UNLOCKED; |
77 | 77 | ||
78 | static int graph_lock(void) | 78 | static int graph_lock(void) |
79 | { | 79 | { |
80 | __raw_spin_lock(&lockdep_lock); | 80 | arch_spin_lock(&lockdep_lock); |
81 | /* | 81 | /* |
82 | * Make sure that if another CPU detected a bug while | 82 | * Make sure that if another CPU detected a bug while |
83 | * walking the graph we dont change it (while the other | 83 | * walking the graph we dont change it (while the other |
@@ -85,7 +85,7 @@ static int graph_lock(void) | |||
85 | * dropped already) | 85 | * dropped already) |
86 | */ | 86 | */ |
87 | if (!debug_locks) { | 87 | if (!debug_locks) { |
88 | __raw_spin_unlock(&lockdep_lock); | 88 | arch_spin_unlock(&lockdep_lock); |
89 | return 0; | 89 | return 0; |
90 | } | 90 | } |
91 | /* prevent any recursions within lockdep from causing deadlocks */ | 91 | /* prevent any recursions within lockdep from causing deadlocks */ |
@@ -95,11 +95,11 @@ static int graph_lock(void) | |||
95 | 95 | ||
96 | static inline int graph_unlock(void) | 96 | static inline int graph_unlock(void) |
97 | { | 97 | { |
98 | if (debug_locks && !__raw_spin_is_locked(&lockdep_lock)) | 98 | if (debug_locks && !arch_spin_is_locked(&lockdep_lock)) |
99 | return DEBUG_LOCKS_WARN_ON(1); | 99 | return DEBUG_LOCKS_WARN_ON(1); |
100 | 100 | ||
101 | current->lockdep_recursion--; | 101 | current->lockdep_recursion--; |
102 | __raw_spin_unlock(&lockdep_lock); | 102 | arch_spin_unlock(&lockdep_lock); |
103 | return 0; | 103 | return 0; |
104 | } | 104 | } |
105 | 105 | ||
@@ -111,7 +111,7 @@ static inline int debug_locks_off_graph_unlock(void) | |||
111 | { | 111 | { |
112 | int ret = debug_locks_off(); | 112 | int ret = debug_locks_off(); |
113 | 113 | ||
114 | __raw_spin_unlock(&lockdep_lock); | 114 | arch_spin_unlock(&lockdep_lock); |
115 | 115 | ||
116 | return ret; | 116 | return ret; |
117 | } | 117 | } |
@@ -140,7 +140,8 @@ static inline struct lock_class *hlock_class(struct held_lock *hlock) | |||
140 | } | 140 | } |
141 | 141 | ||
142 | #ifdef CONFIG_LOCK_STAT | 142 | #ifdef CONFIG_LOCK_STAT |
143 | static DEFINE_PER_CPU(struct lock_class_stats[MAX_LOCKDEP_KEYS], lock_stats); | 143 | static DEFINE_PER_CPU(struct lock_class_stats[MAX_LOCKDEP_KEYS], |
144 | cpu_lock_stats); | ||
144 | 145 | ||
145 | static inline u64 lockstat_clock(void) | 146 | static inline u64 lockstat_clock(void) |
146 | { | 147 | { |
@@ -198,7 +199,7 @@ struct lock_class_stats lock_stats(struct lock_class *class) | |||
198 | memset(&stats, 0, sizeof(struct lock_class_stats)); | 199 | memset(&stats, 0, sizeof(struct lock_class_stats)); |
199 | for_each_possible_cpu(cpu) { | 200 | for_each_possible_cpu(cpu) { |
200 | struct lock_class_stats *pcs = | 201 | struct lock_class_stats *pcs = |
201 | &per_cpu(lock_stats, cpu)[class - lock_classes]; | 202 | &per_cpu(cpu_lock_stats, cpu)[class - lock_classes]; |
202 | 203 | ||
203 | for (i = 0; i < ARRAY_SIZE(stats.contention_point); i++) | 204 | for (i = 0; i < ARRAY_SIZE(stats.contention_point); i++) |
204 | stats.contention_point[i] += pcs->contention_point[i]; | 205 | stats.contention_point[i] += pcs->contention_point[i]; |
@@ -225,7 +226,7 @@ void clear_lock_stats(struct lock_class *class) | |||
225 | 226 | ||
226 | for_each_possible_cpu(cpu) { | 227 | for_each_possible_cpu(cpu) { |
227 | struct lock_class_stats *cpu_stats = | 228 | struct lock_class_stats *cpu_stats = |
228 | &per_cpu(lock_stats, cpu)[class - lock_classes]; | 229 | &per_cpu(cpu_lock_stats, cpu)[class - lock_classes]; |
229 | 230 | ||
230 | memset(cpu_stats, 0, sizeof(struct lock_class_stats)); | 231 | memset(cpu_stats, 0, sizeof(struct lock_class_stats)); |
231 | } | 232 | } |
@@ -235,12 +236,12 @@ void clear_lock_stats(struct lock_class *class) | |||
235 | 236 | ||
236 | static struct lock_class_stats *get_lock_stats(struct lock_class *class) | 237 | static struct lock_class_stats *get_lock_stats(struct lock_class *class) |
237 | { | 238 | { |
238 | return &get_cpu_var(lock_stats)[class - lock_classes]; | 239 | return &get_cpu_var(cpu_lock_stats)[class - lock_classes]; |
239 | } | 240 | } |
240 | 241 | ||
241 | static void put_lock_stats(struct lock_class_stats *stats) | 242 | static void put_lock_stats(struct lock_class_stats *stats) |
242 | { | 243 | { |
243 | put_cpu_var(lock_stats); | 244 | put_cpu_var(cpu_lock_stats); |
244 | } | 245 | } |
245 | 246 | ||
246 | static void lock_release_holdtime(struct held_lock *hlock) | 247 | static void lock_release_holdtime(struct held_lock *hlock) |
@@ -1169,9 +1170,9 @@ unsigned long lockdep_count_forward_deps(struct lock_class *class) | |||
1169 | this.class = class; | 1170 | this.class = class; |
1170 | 1171 | ||
1171 | local_irq_save(flags); | 1172 | local_irq_save(flags); |
1172 | __raw_spin_lock(&lockdep_lock); | 1173 | arch_spin_lock(&lockdep_lock); |
1173 | ret = __lockdep_count_forward_deps(&this); | 1174 | ret = __lockdep_count_forward_deps(&this); |
1174 | __raw_spin_unlock(&lockdep_lock); | 1175 | arch_spin_unlock(&lockdep_lock); |
1175 | local_irq_restore(flags); | 1176 | local_irq_restore(flags); |
1176 | 1177 | ||
1177 | return ret; | 1178 | return ret; |
@@ -1196,9 +1197,9 @@ unsigned long lockdep_count_backward_deps(struct lock_class *class) | |||
1196 | this.class = class; | 1197 | this.class = class; |
1197 | 1198 | ||
1198 | local_irq_save(flags); | 1199 | local_irq_save(flags); |
1199 | __raw_spin_lock(&lockdep_lock); | 1200 | arch_spin_lock(&lockdep_lock); |
1200 | ret = __lockdep_count_backward_deps(&this); | 1201 | ret = __lockdep_count_backward_deps(&this); |
1201 | __raw_spin_unlock(&lockdep_lock); | 1202 | arch_spin_unlock(&lockdep_lock); |
1202 | local_irq_restore(flags); | 1203 | local_irq_restore(flags); |
1203 | 1204 | ||
1204 | return ret; | 1205 | return ret; |