DEBUG: sched/tune: add tracepoint for task boost signal
authorPatrick Bellasi <patrick.bellasi@arm.com>
Thu, 14 Jan 2016 18:43:37 +0000 (18:43 +0000)
committerJohn Stultz <john.stultz@linaro.org>
Wed, 10 Aug 2016 22:06:58 +0000 (15:06 -0700)
Change-Id: I545d3bf5569fc41c0fa70f51dff9a19c11d532ee
Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
include/trace/events/sched.h
kernel/sched/fair.c

index 7ec9dcfc701a4ac64f12090eaf4984b4850d019b..60650950044601b4cd3eadbf13e7ce91031fe5c1 100644 (file)
@@ -764,6 +764,36 @@ TRACE_EVENT(sched_tune_boostgroup_update,
                __entry->cpu, __entry->variation, __entry->max_boost)
 );
 
+/*
+ * Tracepoint for accounting task boosted utilization
+ */
+TRACE_EVENT(sched_boost_task,
+
+       TP_PROTO(struct task_struct *tsk, unsigned long util, unsigned long margin),
+
+       TP_ARGS(tsk, util, margin),
+
+       TP_STRUCT__entry(
+               __array( char,  comm,   TASK_COMM_LEN           )
+               __field( pid_t,         pid                     )
+               __field( unsigned long, util                    )
+               __field( unsigned long, margin                  )
+
+       ),
+
+       TP_fast_assign(
+               memcpy(__entry->comm, tsk->comm, TASK_COMM_LEN);
+               __entry->pid    = tsk->pid;
+               __entry->util   = util;
+               __entry->margin = margin;
+       ),
+
+       TP_printk("comm=%s pid=%d util=%lu margin=%lu",
+                 __entry->comm, __entry->pid,
+                 __entry->util,
+                 __entry->margin)
+);
+
 #endif /* _TRACE_SCHED_H */
 
 /* This part must be outside protection */
index 3bc56e0ea1ab5b4220a5cdaab738392f1307e93b..3a1fd4d3a860a69e4f8c22c9f0480d6ebd509766 100644 (file)
@@ -5283,6 +5283,8 @@ boosted_task_util(struct task_struct *task)
        unsigned long util = task_util(task);
        unsigned long margin = schedtune_task_margin(task);
 
+       trace_sched_boost_task(task, util, margin);
+
        return util + margin;
 }