aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/lockdep_internals.h
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2010-04-15 17:10:43 -0400
committerFrederic Weisbecker <fweisbec@gmail.com>2010-04-30 13:15:56 -0400
commit913769f24eadcd38a936ffae41d9b4895ec02e43 (patch)
treeb1786f5789aa015f488a834a675c20120791bce3 /kernel/lockdep_internals.h
parent8795d7717c467bea7b0a0649d44a258e09f34db2 (diff)
lockdep: Simplify debug atomic ops
Simplify debug_atomic_inc/dec by using this_cpu_inc/dec() instead of doing it through an indirect get_cpu_var() and a manual incrementation. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org>
Diffstat (limited to 'kernel/lockdep_internals.h')
-rw-r--r--kernel/lockdep_internals.h10
1 files changed, 2 insertions, 8 deletions
diff --git a/kernel/lockdep_internals.h b/kernel/lockdep_internals.h
index 8d7d4b6c741a..2b174762fa0e 100644
--- a/kernel/lockdep_internals.h
+++ b/kernel/lockdep_internals.h
@@ -140,19 +140,13 @@ struct lockdep_stats {
140DECLARE_PER_CPU(struct lockdep_stats, lockdep_stats); 140DECLARE_PER_CPU(struct lockdep_stats, lockdep_stats);
141 141
142#define debug_atomic_inc(ptr) { \ 142#define debug_atomic_inc(ptr) { \
143 struct lockdep_stats *__cpu_lockdep_stats; \
144 \
145 WARN_ON_ONCE(!irqs_disabled()); \ 143 WARN_ON_ONCE(!irqs_disabled()); \
146 __cpu_lockdep_stats = &__get_cpu_var(lockdep_stats); \ 144 this_cpu_inc(lockdep_stats.ptr); \
147 __cpu_lockdep_stats->ptr++; \
148} 145}
149 146
150#define debug_atomic_dec(ptr) { \ 147#define debug_atomic_dec(ptr) { \
151 struct lockdep_stats *__cpu_lockdep_stats; \
152 \
153 WARN_ON_ONCE(!irqs_disabled()); \ 148 WARN_ON_ONCE(!irqs_disabled()); \
154 __cpu_lockdep_stats = &__get_cpu_var(lockdep_stats); \ 149 this_cpu_inc(lockdep_stats.ptr); \
155 __cpu_lockdep_stats->ptr--; \
156} 150}
157 151
158#define debug_atomic_read(ptr) ({ \ 152#define debug_atomic_read(ptr) ({ \