sched, trace: update trace_sched_wakeup()
authorPeter Zijlstra <peterz@infradead.org>
Tue, 16 Dec 2008 07:07:03 +0000 (08:07 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 25 Dec 2008 12:10:21 +0000 (13:10 +0100)
Impact: extend the wakeup tracepoint with the info whether the wakeup was real

Add the information needed to distinguish 'real' wakeups from 'false'
wakeups.

Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/trace/sched.h
kernel/sched.c
kernel/trace/trace_sched_switch.c
kernel/trace/trace_sched_wakeup.c

index bc4c9eadc6bafef0c0255779419359fa0a81a65b..0d81098ee9fce3b4ce9d7bc8b3a7280a6a41f95a 100644 (file)
@@ -17,8 +17,8 @@ DECLARE_TRACE(sched_wait_task,
                TPARGS(rq, p));
 
 DECLARE_TRACE(sched_wakeup,
-       TPPROTO(struct rq *rq, struct task_struct *p),
-               TPARGS(rq, p));
+       TPPROTO(struct rq *rq, struct task_struct *p, int success),
+               TPARGS(rq, p, success));
 
 DECLARE_TRACE(sched_wakeup_new,
        TPPROTO(struct rq *rq, struct task_struct *p, int success),
index ceda5799466e5102c2fc16aafd1886ca3738987e..dcb39bc88f6ccc75bd7c1e8aee2847b95fed6b9a 100644 (file)
@@ -2324,7 +2324,7 @@ out_activate:
        success = 1;
 
 out_running:
-       trace_sched_wakeup(rq, p);
+       trace_sched_wakeup(rq, p, success);
        check_preempt_curr(rq, p, sync);
 
        p->state = TASK_RUNNING;
index add2c1fdae9259efffc080b8b62f0ce194663fa0..df175cb4564f0a38ff3911f3015dd9a1866c7620 100644 (file)
@@ -49,7 +49,7 @@ probe_sched_switch(struct rq *__rq, struct task_struct *prev,
 }
 
 static void
-probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee)
+probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee, int success)
 {
        struct trace_array_cpu *data;
        unsigned long flags;
index 0067b49746c1d6b8c8a121d90560fad4f52b78d7..43586b689e3108c8cad184a6667365b7a1dc87da 100644 (file)
@@ -211,7 +211,7 @@ static void wakeup_reset(struct trace_array *tr)
 }
 
 static void
-probe_wakeup(struct rq *rq, struct task_struct *p)
+probe_wakeup(struct rq *rq, struct task_struct *p, int success)
 {
        int cpu = smp_processor_id();
        unsigned long flags;