diff options
author | Steven Rostedt <srostedt@redhat.com> | 2008-12-02 15:34:05 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-12-03 02:56:19 -0500 |
commit | a5e25883a445dce94a087ca479b21a5959cd5c18 (patch) | |
tree | 9453b1116b9784b91d63fd6a1110af0d62fd02b7 | |
parent | dfdc5437bd62dd6a26961e27f26b671374749875 (diff) |
ftrace: replace raw_local_irq_save with local_irq_save
Impact: fix for lockdep and ftrace
The raw_local_irq_save/restore confuses lockdep. This patch
converts them to the local_irq_save/restore variants.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | kernel/lockdep.c | 1 | ||||
-rw-r--r-- | kernel/trace/trace.c | 12 | ||||
-rw-r--r-- | kernel/trace/trace_branch.c | 4 | ||||
-rw-r--r-- | kernel/trace/trace_stack.c | 8 |
4 files changed, 13 insertions, 12 deletions
diff --git a/kernel/lockdep.c b/kernel/lockdep.c index 46a404173db2..74b1878b8bb8 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c | |||
@@ -25,6 +25,7 @@ | |||
25 | * Thanks to Arjan van de Ven for coming up with the initial idea of | 25 | * Thanks to Arjan van de Ven for coming up with the initial idea of |
26 | * mapping lock dependencies runtime. | 26 | * mapping lock dependencies runtime. |
27 | */ | 27 | */ |
28 | #define DISABLE_BRANCH_PROFILING | ||
28 | #include <linux/mutex.h> | 29 | #include <linux/mutex.h> |
29 | #include <linux/sched.h> | 30 | #include <linux/sched.h> |
30 | #include <linux/delay.h> | 31 | #include <linux/delay.h> |
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 91887a280ab9..380de630ebce 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -1209,7 +1209,7 @@ void trace_graph_entry(struct ftrace_graph_ent *trace) | |||
1209 | int cpu; | 1209 | int cpu; |
1210 | int pc; | 1210 | int pc; |
1211 | 1211 | ||
1212 | raw_local_irq_save(flags); | 1212 | local_irq_save(flags); |
1213 | cpu = raw_smp_processor_id(); | 1213 | cpu = raw_smp_processor_id(); |
1214 | data = tr->data[cpu]; | 1214 | data = tr->data[cpu]; |
1215 | disabled = atomic_inc_return(&data->disabled); | 1215 | disabled = atomic_inc_return(&data->disabled); |
@@ -1218,7 +1218,7 @@ void trace_graph_entry(struct ftrace_graph_ent *trace) | |||
1218 | __trace_graph_entry(tr, data, trace, flags, pc); | 1218 | __trace_graph_entry(tr, data, trace, flags, pc); |
1219 | } | 1219 | } |
1220 | atomic_dec(&data->disabled); | 1220 | atomic_dec(&data->disabled); |
1221 | raw_local_irq_restore(flags); | 1221 | local_irq_restore(flags); |
1222 | } | 1222 | } |
1223 | 1223 | ||
1224 | void trace_graph_return(struct ftrace_graph_ret *trace) | 1224 | void trace_graph_return(struct ftrace_graph_ret *trace) |
@@ -1230,7 +1230,7 @@ void trace_graph_return(struct ftrace_graph_ret *trace) | |||
1230 | int cpu; | 1230 | int cpu; |
1231 | int pc; | 1231 | int pc; |
1232 | 1232 | ||
1233 | raw_local_irq_save(flags); | 1233 | local_irq_save(flags); |
1234 | cpu = raw_smp_processor_id(); | 1234 | cpu = raw_smp_processor_id(); |
1235 | data = tr->data[cpu]; | 1235 | data = tr->data[cpu]; |
1236 | disabled = atomic_inc_return(&data->disabled); | 1236 | disabled = atomic_inc_return(&data->disabled); |
@@ -1239,7 +1239,7 @@ void trace_graph_return(struct ftrace_graph_ret *trace) | |||
1239 | __trace_graph_return(tr, data, trace, flags, pc); | 1239 | __trace_graph_return(tr, data, trace, flags, pc); |
1240 | } | 1240 | } |
1241 | atomic_dec(&data->disabled); | 1241 | atomic_dec(&data->disabled); |
1242 | raw_local_irq_restore(flags); | 1242 | local_irq_restore(flags); |
1243 | } | 1243 | } |
1244 | #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ | 1244 | #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ |
1245 | 1245 | ||
@@ -2645,7 +2645,7 @@ tracing_cpumask_write(struct file *filp, const char __user *ubuf, | |||
2645 | if (err) | 2645 | if (err) |
2646 | goto err_unlock; | 2646 | goto err_unlock; |
2647 | 2647 | ||
2648 | raw_local_irq_disable(); | 2648 | local_irq_disable(); |
2649 | __raw_spin_lock(&ftrace_max_lock); | 2649 | __raw_spin_lock(&ftrace_max_lock); |
2650 | for_each_tracing_cpu(cpu) { | 2650 | for_each_tracing_cpu(cpu) { |
2651 | /* | 2651 | /* |
@@ -2662,7 +2662,7 @@ tracing_cpumask_write(struct file *filp, const char __user *ubuf, | |||
2662 | } | 2662 | } |
2663 | } | 2663 | } |
2664 | __raw_spin_unlock(&ftrace_max_lock); | 2664 | __raw_spin_unlock(&ftrace_max_lock); |
2665 | raw_local_irq_enable(); | 2665 | local_irq_enable(); |
2666 | 2666 | ||
2667 | tracing_cpumask = tracing_cpumask_new; | 2667 | tracing_cpumask = tracing_cpumask_new; |
2668 | 2668 | ||
diff --git a/kernel/trace/trace_branch.c b/kernel/trace/trace_branch.c index bc972753568d..6c00feb3bac7 100644 --- a/kernel/trace/trace_branch.c +++ b/kernel/trace/trace_branch.c | |||
@@ -42,7 +42,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect) | |||
42 | if (unlikely(!tr)) | 42 | if (unlikely(!tr)) |
43 | return; | 43 | return; |
44 | 44 | ||
45 | raw_local_irq_save(flags); | 45 | local_irq_save(flags); |
46 | cpu = raw_smp_processor_id(); | 46 | cpu = raw_smp_processor_id(); |
47 | if (atomic_inc_return(&tr->data[cpu]->disabled) != 1) | 47 | if (atomic_inc_return(&tr->data[cpu]->disabled) != 1) |
48 | goto out; | 48 | goto out; |
@@ -74,7 +74,7 @@ probe_likely_condition(struct ftrace_branch_data *f, int val, int expect) | |||
74 | 74 | ||
75 | out: | 75 | out: |
76 | atomic_dec(&tr->data[cpu]->disabled); | 76 | atomic_dec(&tr->data[cpu]->disabled); |
77 | raw_local_irq_restore(flags); | 77 | local_irq_restore(flags); |
78 | } | 78 | } |
79 | 79 | ||
80 | static inline | 80 | static inline |
diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c index fde3be15c642..06a16115be0f 100644 --- a/kernel/trace/trace_stack.c +++ b/kernel/trace/trace_stack.c | |||
@@ -48,7 +48,7 @@ static inline void check_stack(void) | |||
48 | if (!object_is_on_stack(&this_size)) | 48 | if (!object_is_on_stack(&this_size)) |
49 | return; | 49 | return; |
50 | 50 | ||
51 | raw_local_irq_save(flags); | 51 | local_irq_save(flags); |
52 | __raw_spin_lock(&max_stack_lock); | 52 | __raw_spin_lock(&max_stack_lock); |
53 | 53 | ||
54 | /* a race could have already updated it */ | 54 | /* a race could have already updated it */ |
@@ -96,7 +96,7 @@ static inline void check_stack(void) | |||
96 | 96 | ||
97 | out: | 97 | out: |
98 | __raw_spin_unlock(&max_stack_lock); | 98 | __raw_spin_unlock(&max_stack_lock); |
99 | raw_local_irq_restore(flags); | 99 | local_irq_restore(flags); |
100 | } | 100 | } |
101 | 101 | ||
102 | static void | 102 | static void |
@@ -162,11 +162,11 @@ stack_max_size_write(struct file *filp, const char __user *ubuf, | |||
162 | if (ret < 0) | 162 | if (ret < 0) |
163 | return ret; | 163 | return ret; |
164 | 164 | ||
165 | raw_local_irq_save(flags); | 165 | local_irq_save(flags); |
166 | __raw_spin_lock(&max_stack_lock); | 166 | __raw_spin_lock(&max_stack_lock); |
167 | *ptr = val; | 167 | *ptr = val; |
168 | __raw_spin_unlock(&max_stack_lock); | 168 | __raw_spin_unlock(&max_stack_lock); |
169 | raw_local_irq_restore(flags); | 169 | local_irq_restore(flags); |
170 | 170 | ||
171 | return count; | 171 | return count; |
172 | } | 172 | } |