Skip to content

Commit

Permalink
ftrace: clean up enable logic for sched_switch
Browse files Browse the repository at this point in the history
Unify sched_switch and sched_wakeup's action to following logic:
Do record_cmdline when start_cmdline_record() is called.
Start tracing events when the tracer is started.

Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
LKML-Reference: <49D1C596.5050203@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  • Loading branch information
zhaoleidd authored and Ingo Molnar committed Apr 7, 2009
1 parent 597af81 commit dcef788
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions kernel/trace/trace_sched_switch.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ probe_sched_switch(struct rq *__rq, struct task_struct *prev,
int cpu;
int pc;

if (!sched_ref || sched_stopped)
if (unlikely(!sched_ref))
return;

tracing_record_cmdline(prev);
tracing_record_cmdline(next);

if (!tracer_enabled)
if (!tracer_enabled || sched_stopped)
return;

pc = preempt_count();
Expand All @@ -56,15 +56,15 @@ probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee, int success)
unsigned long flags;
int cpu, pc;

if (!likely(tracer_enabled))
if (unlikely(!sched_ref))
return;

pc = preempt_count();
tracing_record_cmdline(current);

if (sched_stopped)
if (!tracer_enabled || sched_stopped)
return;

pc = preempt_count();
local_irq_save(flags);
cpu = raw_smp_processor_id();
data = ctx_trace->data[cpu];
Expand Down

0 comments on commit dcef788

Please sign in to comment.