diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2008-12-16 02:07:03 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2008-12-25 07:10:21 -0500 |
| commit | 468a15bb4cc61694495cc5ed7ffca29e87c79b69 (patch) | |
| tree | 51274b853cc427666925f917203487a69d01c3d9 | |
| parent | 0ca59dd948a51c95d5a366d35f897bc5ef9df55d (diff) | |
sched, trace: update trace_sched_wakeup()
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>
| -rw-r--r-- | include/trace/sched.h | 4 | ||||
| -rw-r--r-- | kernel/sched.c | 2 | ||||
| -rw-r--r-- | kernel/trace/trace_sched_switch.c | 2 | ||||
| -rw-r--r-- | kernel/trace/trace_sched_wakeup.c | 2 |
4 files changed, 5 insertions, 5 deletions
diff --git a/include/trace/sched.h b/include/trace/sched.h index bc4c9eadc6ba..0d81098ee9fc 100644 --- a/include/trace/sched.h +++ b/include/trace/sched.h | |||
| @@ -17,8 +17,8 @@ DECLARE_TRACE(sched_wait_task, | |||
| 17 | TPARGS(rq, p)); | 17 | TPARGS(rq, p)); |
| 18 | 18 | ||
| 19 | DECLARE_TRACE(sched_wakeup, | 19 | DECLARE_TRACE(sched_wakeup, |
| 20 | TPPROTO(struct rq *rq, struct task_struct *p), | 20 | TPPROTO(struct rq *rq, struct task_struct *p, int success), |
| 21 | TPARGS(rq, p)); | 21 | TPARGS(rq, p, success)); |
| 22 | 22 | ||
| 23 | DECLARE_TRACE(sched_wakeup_new, | 23 | DECLARE_TRACE(sched_wakeup_new, |
| 24 | TPPROTO(struct rq *rq, struct task_struct *p, int success), | 24 | TPPROTO(struct rq *rq, struct task_struct *p, int success), |
diff --git a/kernel/sched.c b/kernel/sched.c index ceda5799466e..dcb39bc88f6c 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
| @@ -2324,7 +2324,7 @@ out_activate: | |||
| 2324 | success = 1; | 2324 | success = 1; |
| 2325 | 2325 | ||
| 2326 | out_running: | 2326 | out_running: |
| 2327 | trace_sched_wakeup(rq, p); | 2327 | trace_sched_wakeup(rq, p, success); |
| 2328 | check_preempt_curr(rq, p, sync); | 2328 | check_preempt_curr(rq, p, sync); |
| 2329 | 2329 | ||
| 2330 | p->state = TASK_RUNNING; | 2330 | p->state = TASK_RUNNING; |
diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c index add2c1fdae92..df175cb4564f 100644 --- a/kernel/trace/trace_sched_switch.c +++ b/kernel/trace/trace_sched_switch.c | |||
| @@ -49,7 +49,7 @@ probe_sched_switch(struct rq *__rq, struct task_struct *prev, | |||
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | static void | 51 | static void |
| 52 | probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee) | 52 | probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee, int success) |
| 53 | { | 53 | { |
| 54 | struct trace_array_cpu *data; | 54 | struct trace_array_cpu *data; |
| 55 | unsigned long flags; | 55 | unsigned long flags; |
diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c index 0067b49746c1..43586b689e31 100644 --- a/kernel/trace/trace_sched_wakeup.c +++ b/kernel/trace/trace_sched_wakeup.c | |||
| @@ -211,7 +211,7 @@ static void wakeup_reset(struct trace_array *tr) | |||
| 211 | } | 211 | } |
| 212 | 212 | ||
| 213 | static void | 213 | static void |
| 214 | probe_wakeup(struct rq *rq, struct task_struct *p) | 214 | probe_wakeup(struct rq *rq, struct task_struct *p, int success) |
| 215 | { | 215 | { |
| 216 | int cpu = smp_processor_id(); | 216 | int cpu = smp_processor_id(); |
| 217 | unsigned long flags; | 217 | unsigned long flags; |
