ftrace: Add check of sched_stopped for probe_sched_wakeup
authorZhaolei <zhaolei@cn.fujitsu.com>
Tue, 31 Mar 2009 07:24:51 +0000 (15:24 +0800)
committerIngo Molnar <mingo@elte.hu>
Tue, 7 Apr 2009 12:01:11 +0000 (14:01 +0200)
The wakeup tracing in sched_switch does not stop when a user
disables tracing. This is because the probe_sched_wakeup() is missing
the check to prevent the wakeup from being traced.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
LKML-Reference: <49D1C543.3010307@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace_sched_switch.c

index de35f200abd37321944f1fae494146aee60e3a6f..9117cea6f1ae78f17f2be7fc9894aa9b0abe2075 100644 (file)
@@ -62,6 +62,9 @@ probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee, int success)
        pc = preempt_count();
        tracing_record_cmdline(current);
 
+       if (sched_stopped)
+               return;
+
        local_irq_save(flags);
        cpu = raw_smp_processor_id();
        data = ctx_trace->data[cpu];