sched: Update sched_enq_deq_task ftrace event

Extend sched_enq_deq_task ftrace event to record task's
runnable_avg_sum_scaled, runnable_avg_period and demand metrics. This
will be a valuable debug aid.

Change-Id: I8deda0df0105cf97a3178cded96473d541e0d78a
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
This commit is contained in:
Srivatsa Vaddagiri 2014-03-29 18:11:24 -07:00 committed by David Keitel
parent f469bce8e2
commit adac5c0890

View file

@ -70,6 +70,11 @@ TRACE_EVENT(sched_enq_deq_task,
__field(unsigned int, nr_running ) __field(unsigned int, nr_running )
__field(unsigned long, cpu_load ) __field(unsigned long, cpu_load )
__field(unsigned int, rt_nr_running ) __field(unsigned int, rt_nr_running )
#ifdef CONFIG_SCHED_FREQ_INPUT
__field(unsigned int, sum_scaled )
__field(unsigned int, period )
__field(unsigned int, demand )
#endif
), ),
TP_fast_assign( TP_fast_assign(
@ -81,13 +86,26 @@ TRACE_EVENT(sched_enq_deq_task,
__entry->nr_running = task_rq(p)->nr_running; __entry->nr_running = task_rq(p)->nr_running;
__entry->cpu_load = task_rq(p)->cpu_load[0]; __entry->cpu_load = task_rq(p)->cpu_load[0];
__entry->rt_nr_running = task_rq(p)->rt.rt_nr_running; __entry->rt_nr_running = task_rq(p)->rt.rt_nr_running;
#ifdef CONFIG_SCHED_FREQ_INPUT
__entry->sum_scaled = p->se.avg.runnable_avg_sum_scaled;
__entry->period = p->se.avg.runnable_avg_period;
__entry->demand = p->ravg.demand;
#endif
), ),
TP_printk("cpu=%d %s comm=%s pid=%d prio=%d nr_running=%u cpu_load=%lu rt_nr_running=%u", TP_printk("cpu=%d %s comm=%s pid=%d prio=%d nr_running=%u cpu_load=%lu rt_nr_running=%u"
__entry->cpu, __entry->enqueue ? "enqueue" : "dequeue", #ifdef CONFIG_SCHED_FREQ_INPUT
"sum_scaled=%u period=%u demand=%u"
#endif
, __entry->cpu,
__entry->enqueue ? "enqueue" : "dequeue",
__entry->comm, __entry->pid, __entry->comm, __entry->pid,
__entry->prio, __entry->nr_running, __entry->prio, __entry->nr_running,
__entry->cpu_load, __entry->rt_nr_running) __entry->cpu_load, __entry->rt_nr_running
#ifdef CONFIG_SCHED_FREQ_INPUT
, __entry->sum_scaled, __entry->period, __entry->demand
#endif
)
); );
#ifdef CONFIG_SCHED_HMP #ifdef CONFIG_SCHED_HMP