提交 18cef379 编写于 作者: S Steven Rostedt 提交者: Thomas Gleixner

ftrace: don't use raw_local_irq_save/restore

Using raw_local_irq_save/restore confuses lockdep.
It's fine to use the normal ones.
Signed-off-by: NSteven Rostedt <srostedt@redhat.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 0764d23c
...@@ -269,7 +269,7 @@ function_trace_call(unsigned long ip, unsigned long parent_ip) ...@@ -269,7 +269,7 @@ function_trace_call(unsigned long ip, unsigned long parent_ip)
if (unlikely(!tracer_enabled)) if (unlikely(!tracer_enabled))
return; return;
raw_local_irq_save(flags); local_irq_save(flags);
cpu = raw_smp_processor_id(); cpu = raw_smp_processor_id();
data = tr->data[cpu]; data = tr->data[cpu];
disabled = atomic_inc_return(&data->disabled); disabled = atomic_inc_return(&data->disabled);
...@@ -278,7 +278,7 @@ function_trace_call(unsigned long ip, unsigned long parent_ip) ...@@ -278,7 +278,7 @@ function_trace_call(unsigned long ip, unsigned long parent_ip)
ftrace(tr, data, ip, parent_ip, flags); ftrace(tr, data, ip, parent_ip, flags);
atomic_dec(&data->disabled); atomic_dec(&data->disabled);
raw_local_irq_restore(flags); local_irq_restore(flags);
} }
static struct ftrace_ops trace_ops __read_mostly = static struct ftrace_ops trace_ops __read_mostly =
......
...@@ -29,7 +29,7 @@ ctx_switch_func(struct task_struct *prev, struct task_struct *next) ...@@ -29,7 +29,7 @@ ctx_switch_func(struct task_struct *prev, struct task_struct *next)
if (!tracer_enabled) if (!tracer_enabled)
return; return;
raw_local_irq_save(flags); local_irq_save(flags);
cpu = raw_smp_processor_id(); cpu = raw_smp_processor_id();
data = tr->data[cpu]; data = tr->data[cpu];
disabled = atomic_inc_return(&data->disabled); disabled = atomic_inc_return(&data->disabled);
...@@ -38,7 +38,7 @@ ctx_switch_func(struct task_struct *prev, struct task_struct *next) ...@@ -38,7 +38,7 @@ ctx_switch_func(struct task_struct *prev, struct task_struct *next)
tracing_sched_switch_trace(tr, data, prev, next, flags); tracing_sched_switch_trace(tr, data, prev, next, flags);
atomic_dec(&data->disabled); atomic_dec(&data->disabled);
raw_local_irq_restore(flags); local_irq_restore(flags);
} }
void ftrace_ctx_switch(struct task_struct *prev, struct task_struct *next) void ftrace_ctx_switch(struct task_struct *prev, struct task_struct *next)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册