|
@@ -138,9 +138,6 @@ probe_wakeup_sched_switch(struct rq *rq, struct task_struct *prev,
|
|
|
|
|
|
pc = preempt_count();
|
|
pc = preempt_count();
|
|
|
|
|
|
- /* The task we are waiting for is waking up */
|
|
|
|
- data = wakeup_trace->data[wakeup_cpu];
|
|
|
|
-
|
|
|
|
/* disable local data, not wakeup_cpu data */
|
|
/* disable local data, not wakeup_cpu data */
|
|
cpu = raw_smp_processor_id();
|
|
cpu = raw_smp_processor_id();
|
|
disabled = atomic_inc_return(&wakeup_trace->data[cpu]->disabled);
|
|
disabled = atomic_inc_return(&wakeup_trace->data[cpu]->disabled);
|
|
@@ -154,6 +151,9 @@ probe_wakeup_sched_switch(struct rq *rq, struct task_struct *prev,
|
|
if (unlikely(!tracer_enabled || next != wakeup_task))
|
|
if (unlikely(!tracer_enabled || next != wakeup_task))
|
|
goto out_unlock;
|
|
goto out_unlock;
|
|
|
|
|
|
|
|
+ /* The task we are waiting for is waking up */
|
|
|
|
+ data = wakeup_trace->data[wakeup_cpu];
|
|
|
|
+
|
|
trace_function(wakeup_trace, CALLER_ADDR0, CALLER_ADDR1, flags, pc);
|
|
trace_function(wakeup_trace, CALLER_ADDR0, CALLER_ADDR1, flags, pc);
|
|
tracing_sched_switch_trace(wakeup_trace, prev, next, flags, pc);
|
|
tracing_sched_switch_trace(wakeup_trace, prev, next, flags, pc);
|
|
|
|
|