tracing/sched: show CPU task wakes up on in trace event
authorSteven Rostedt <srostedt@redhat.com>
Thu, 6 Aug 2009 18:59:32 +0000 (14:59 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 26 Aug 2009 04:32:03 +0000 (00:32 -0400)
While debugging the scheduler push / pull algorithm, I found
it very annoying that the sched wake up events did not show
the CPU that the task was waking on. In order to analyze the
scheduler, I needed that information.

This patch adds recording of the CPU that a task is waking up
on.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/trace/events/sched.h

index 8949bb7..a581ef2 100644 (file)
@@ -94,6 +94,7 @@ TRACE_EVENT(sched_wakeup,
                __field(        pid_t,  pid                     )
                __field(        int,    prio                    )
                __field(        int,    success                 )
+               __field(        int,    cpu                     )
        ),
 
        TP_fast_assign(
@@ -101,11 +102,12 @@ TRACE_EVENT(sched_wakeup,
                __entry->pid            = p->pid;
                __entry->prio           = p->prio;
                __entry->success        = success;
+               __entry->cpu            = task_cpu(p);
        ),
 
-       TP_printk("task %s:%d [%d] success=%d",
+       TP_printk("task %s:%d [%d] success=%d [%03d]",
                  __entry->comm, __entry->pid, __entry->prio,
-                 __entry->success)
+                 __entry->success, __entry->cpu)
 );
 
 /*
@@ -125,6 +127,7 @@ TRACE_EVENT(sched_wakeup_new,
                __field(        pid_t,  pid                     )
                __field(        int,    prio                    )
                __field(        int,    success                 )
+               __field(        int,    cpu                     )
        ),
 
        TP_fast_assign(
@@ -132,11 +135,12 @@ TRACE_EVENT(sched_wakeup_new,
                __entry->pid            = p->pid;
                __entry->prio           = p->prio;
                __entry->success        = success;
+               __entry->cpu            = task_cpu(p);
        ),
 
-       TP_printk("task %s:%d [%d] success=%d",
+       TP_printk("task %s:%d [%d] success=%d [%03d]",
                  __entry->comm, __entry->pid, __entry->prio,
-                 __entry->success)
+                 __entry->success, __entry->cpu)
 );
 
 /*