summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSrivatsa Vaddagiri <vatsa@codeaurora.org>2014-03-29 18:11:24 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 19:59:30 -0700
commitadac5c0890434eea96646b61ca5af49e285dfd5d (patch)
tree5b4137d2fd186ad35d5d00840b981ad1f3c3a72b
parentf469bce8e2d2062568f753ca7e9099715f504df8 (diff)
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>
-rw-r--r--include/trace/events/sched.h24
1 files 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