ftrace: don't use raw_local_irq_save/restore
Steven Rostedt [Mon, 12 May 2008 19:20:44 +0000 (21:20 +0200)]
Using raw_local_irq_save/restore confuses lockdep.
It's fine to use the normal ones.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

kernel/trace/trace.c
kernel/trace/trace_sched_switch.c

index d7ad030..9175ce9 100644 (file)
@@ -269,7 +269,7 @@ function_trace_call(unsigned long ip, unsigned long parent_ip)
        if (unlikely(!tracer_enabled))
                return;
 
-       raw_local_irq_save(flags);
+       local_irq_save(flags);
        cpu = raw_smp_processor_id();
        data = tr->data[cpu];
        disabled = atomic_inc_return(&data->disabled);
@@ -278,7 +278,7 @@ function_trace_call(unsigned long ip, unsigned long parent_ip)
                ftrace(tr, data, ip, parent_ip, flags);
 
        atomic_dec(&data->disabled);
-       raw_local_irq_restore(flags);
+       local_irq_restore(flags);
 }
 
 static struct ftrace_ops trace_ops __read_mostly =
index 3e4771d..2715267 100644 (file)
@@ -29,7 +29,7 @@ ctx_switch_func(struct task_struct *prev, struct task_struct *next)
        if (!tracer_enabled)
                return;
 
-       raw_local_irq_save(flags);
+       local_irq_save(flags);
        cpu = raw_smp_processor_id();
        data = tr->data[cpu];
        disabled = atomic_inc_return(&data->disabled);
@@ -38,7 +38,7 @@ ctx_switch_func(struct task_struct *prev, struct task_struct *next)
                tracing_sched_switch_trace(tr, data, prev, next, flags);
 
        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)