aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-01-21 17:17:04 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-22 04:27:39 -0500
commitf8ec1062f589cdb1cffcffab1376124a1bc08500 (patch)
treec27f47b2ceaf977b13c13c008f64acc02e52abdf /kernel/trace
parent3244351c31211a8b1ba8b4b34c3de04d5dfa03e4 (diff)
wakeup-tracer: show scheduling data in output
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>
Diffstat (limited to 'kernel/trace')
-rw-r--r--kernel/trace/trace_sched_wakeup.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c
index f48957886102..93cecda650b2 100644
--- a/kernel/trace/trace_sched_wakeup.c
+++ b/kernel/trace/trace_sched_wakeup.c
@@ -153,6 +153,7 @@ probe_wakeup_sched_switch(struct rq *rq, struct task_struct *prev,
153 goto out_unlock; 153 goto out_unlock;
154 154
155 trace_function(wakeup_trace, data, CALLER_ADDR1, CALLER_ADDR2, flags, pc); 155 trace_function(wakeup_trace, data, CALLER_ADDR1, CALLER_ADDR2, flags, pc);
156 tracing_sched_switch_trace(wakeup_trace, data, prev, next, flags, pc);
156 157
157 /* 158 /*
158 * usecs conversion is slow so we try to delay the conversion 159 * usecs conversion is slow so we try to delay the conversion
@@ -214,6 +215,7 @@ static void wakeup_reset(struct trace_array *tr)
214static void 215static void
215probe_wakeup(struct rq *rq, struct task_struct *p, int success) 216probe_wakeup(struct rq *rq, struct task_struct *p, int success)
216{ 217{
218 struct trace_array_cpu *data;
217 int cpu = smp_processor_id(); 219 int cpu = smp_processor_id();
218 unsigned long flags; 220 unsigned long flags;
219 long disabled; 221 long disabled;
@@ -253,9 +255,12 @@ probe_wakeup(struct rq *rq, struct task_struct *p, int success)
253 255
254 local_save_flags(flags); 256 local_save_flags(flags);
255 257
256 wakeup_trace->data[wakeup_cpu]->preempt_timestamp = ftrace_now(cpu); 258 data = wakeup_trace->data[wakeup_cpu];
257 trace_function(wakeup_trace, wakeup_trace->data[wakeup_cpu], 259 data->preempt_timestamp = ftrace_now(cpu);
258 CALLER_ADDR1, CALLER_ADDR2, flags, pc); 260 tracing_sched_wakeup_trace(wakeup_trace, data, p, current,
261 flags, pc);
262 trace_function(wakeup_trace, data, CALLER_ADDR1, CALLER_ADDR2,
263 flags, pc);
259 264
260out_locked: 265out_locked:
261 __raw_spin_unlock(&wakeup_lock); 266 __raw_spin_unlock(&wakeup_lock);