From adac5c0890434eea96646b61ca5af49e285dfd5d Mon Sep 17 00:00:00 2001 From: Srivatsa Vaddagiri Date: Sat, 29 Mar 2014 18:11:24 -0700 Subject: [PATCH] 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 --- include/trace/events/sched.h | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index 1d08d7eb40d3..e9569c65330d 100644 --- a/include/trace/events/sched.h +++ b/include/trace/events/sched.h @@ -70,6 +70,11 @@ TRACE_EVENT(sched_enq_deq_task, __field(unsigned int, nr_running ) __field(unsigned long, cpu_load ) __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( @@ -81,13 +86,26 @@ TRACE_EVENT(sched_enq_deq_task, __entry->nr_running = task_rq(p)->nr_running; __entry->cpu_load = task_rq(p)->cpu_load[0]; __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", - __entry->cpu, __entry->enqueue ? "enqueue" : "dequeue", + TP_printk("cpu=%d %s comm=%s pid=%d prio=%d nr_running=%u cpu_load=%lu rt_nr_running=%u" +#ifdef CONFIG_SCHED_FREQ_INPUT + "sum_scaled=%u period=%u demand=%u" +#endif + , __entry->cpu, + __entry->enqueue ? "enqueue" : "dequeue", __entry->comm, __entry->pid, __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