]> Pileus Git - ~andy/linux/commitdiff
wakeup-tracer: show scheduling data in output
authorSteven Rostedt <srostedt@redhat.com>
Wed, 21 Jan 2009 22:17:04 +0000 (17:17 -0500)
committerIngo Molnar <mingo@elte.hu>
Thu, 22 Jan 2009 09:27:39 +0000 (10:27 +0100)
Impact: better data for wakeup tracer

This patch adds the wakeup and schedule calls that are used by
the scheduler tracer to make the wakeup tracer more readable.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace_sched_wakeup.c

index f48957886102ce4197ef2df91214958a9fad96d4..93cecda650b20f620ff9449cb17782e187b27d49 100644 (file)
@@ -153,6 +153,7 @@ probe_wakeup_sched_switch(struct rq *rq, struct task_struct *prev,
                goto out_unlock;
 
        trace_function(wakeup_trace, data, CALLER_ADDR1, CALLER_ADDR2, flags, pc);
+       tracing_sched_switch_trace(wakeup_trace, data, prev, next, flags, pc);
 
        /*
         * usecs conversion is slow so we try to delay the conversion
@@ -214,6 +215,7 @@ static void wakeup_reset(struct trace_array *tr)
 static void
 probe_wakeup(struct rq *rq, struct task_struct *p, int success)
 {
+       struct trace_array_cpu *data;
        int cpu = smp_processor_id();
        unsigned long flags;
        long disabled;
@@ -253,9 +255,12 @@ probe_wakeup(struct rq *rq, struct task_struct *p, int success)
 
        local_save_flags(flags);
 
-       wakeup_trace->data[wakeup_cpu]->preempt_timestamp = ftrace_now(cpu);
-       trace_function(wakeup_trace, wakeup_trace->data[wakeup_cpu],
-                      CALLER_ADDR1, CALLER_ADDR2, flags, pc);
+       data = wakeup_trace->data[wakeup_cpu];
+       data->preempt_timestamp = ftrace_now(cpu);
+       tracing_sched_wakeup_trace(wakeup_trace, data, p, current,
+                                  flags, pc);
+       trace_function(wakeup_trace, data, CALLER_ADDR1, CALLER_ADDR2,
+                      flags, pc);
 
 out_locked:
        __raw_spin_unlock(&wakeup_lock);