diff options
author | Christoph Lameter <cl@linux-foundation.org> | 2009-10-07 19:17:45 -0400 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-10-12 06:51:49 -0400 |
commit | 9288f99aa52d90a5b82573c4b769c97c55af2f56 (patch) | |
tree | 34d484799f1d779d7244e373be7cd5d7d2e684af /kernel | |
parent | 494f6a9e12f5137d355d3ce3f5789ef148b642bc (diff) |
this_cpu: Use this_cpu_xx for ftrace
this_cpu_xx can reduce the instruction count here and also
avoid address arithmetic.
Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/trace/trace.c | 8 | ||||
-rw-r--r-- | kernel/trace/trace.h | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 45068269ebb1..8439cdcada94 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -86,17 +86,17 @@ static int dummy_set_flag(u32 old_flags, u32 bit, int set) | |||
86 | */ | 86 | */ |
87 | static int tracing_disabled = 1; | 87 | static int tracing_disabled = 1; |
88 | 88 | ||
89 | DEFINE_PER_CPU(local_t, ftrace_cpu_disabled); | 89 | DEFINE_PER_CPU(int, ftrace_cpu_disabled); |
90 | 90 | ||
91 | static inline void ftrace_disable_cpu(void) | 91 | static inline void ftrace_disable_cpu(void) |
92 | { | 92 | { |
93 | preempt_disable(); | 93 | preempt_disable(); |
94 | local_inc(&__get_cpu_var(ftrace_cpu_disabled)); | 94 | __this_cpu_inc(per_cpu_var(ftrace_cpu_disabled)); |
95 | } | 95 | } |
96 | 96 | ||
97 | static inline void ftrace_enable_cpu(void) | 97 | static inline void ftrace_enable_cpu(void) |
98 | { | 98 | { |
99 | local_dec(&__get_cpu_var(ftrace_cpu_disabled)); | 99 | __this_cpu_dec(per_cpu_var(ftrace_cpu_disabled)); |
100 | preempt_enable(); | 100 | preempt_enable(); |
101 | } | 101 | } |
102 | 102 | ||
@@ -1085,7 +1085,7 @@ trace_function(struct trace_array *tr, | |||
1085 | struct ftrace_entry *entry; | 1085 | struct ftrace_entry *entry; |
1086 | 1086 | ||
1087 | /* If we are reading the ring buffer, don't trace */ | 1087 | /* If we are reading the ring buffer, don't trace */ |
1088 | if (unlikely(local_read(&__get_cpu_var(ftrace_cpu_disabled)))) | 1088 | if (unlikely(__this_cpu_read(per_cpu_var(ftrace_cpu_disabled)))) |
1089 | return; | 1089 | return; |
1090 | 1090 | ||
1091 | event = trace_buffer_lock_reserve(buffer, TRACE_FN, sizeof(*entry), | 1091 | event = trace_buffer_lock_reserve(buffer, TRACE_FN, sizeof(*entry), |
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 405cb850b75d..542f45554883 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h | |||
@@ -413,7 +413,7 @@ extern int DYN_FTRACE_TEST_NAME(void); | |||
413 | 413 | ||
414 | extern int ring_buffer_expanded; | 414 | extern int ring_buffer_expanded; |
415 | extern bool tracing_selftest_disabled; | 415 | extern bool tracing_selftest_disabled; |
416 | DECLARE_PER_CPU(local_t, ftrace_cpu_disabled); | 416 | DECLARE_PER_CPU(int, ftrace_cpu_disabled); |
417 | 417 | ||
418 | #ifdef CONFIG_FTRACE_STARTUP_TEST | 418 | #ifdef CONFIG_FTRACE_STARTUP_TEST |
419 | extern int trace_selftest_startup_function(struct tracer *trace, | 419 | extern int trace_selftest_startup_function(struct tracer *trace, |