DEBUG: sched/tune: add tracepoint for energy_diff() values
[firefly-linux-kernel-4.4.55.git] / include / trace / events / sched.h
index 564e090fc00571a7c3b43719a1b2a595d238c54f..5dcbc803e2336c987d7bfed3072e38dd3e2b4906 100644 (file)
@@ -843,6 +843,63 @@ TRACE_EVENT(sched_boost_task,
                  __entry->margin)
 );
 
+/*
+ * Tracepoint for accounting sched group energy
+ */
+TRACE_EVENT(sched_energy_diff,
+
+       TP_PROTO(struct task_struct *tsk, int scpu, int dcpu, int udelta,
+               int nrgb, int nrga, int nrgd, int capb, int capa, int capd,
+               int nrgn, int nrgp),
+
+       TP_ARGS(tsk, scpu, dcpu, udelta,
+               nrgb, nrga, nrgd, capb, capa, capd,
+               nrgn, nrgp),
+
+       TP_STRUCT__entry(
+               __array( char,  comm,   TASK_COMM_LEN   )
+               __field( pid_t, pid     )
+               __field( int,   scpu    )
+               __field( int,   dcpu    )
+               __field( int,   udelta  )
+               __field( int,   nrgb    )
+               __field( int,   nrga    )
+               __field( int,   nrgd    )
+               __field( int,   capb    )
+               __field( int,   capa    )
+               __field( int,   capd    )
+               __field( int,   nrgn    )
+               __field( int,   nrgp    )
+       ),
+
+       TP_fast_assign(
+               memcpy(__entry->comm, tsk->comm, TASK_COMM_LEN);
+               __entry->pid            = tsk->pid;
+               __entry->scpu           = scpu;
+               __entry->dcpu           = dcpu;
+               __entry->udelta         = udelta;
+               __entry->nrgb           = nrgb;
+               __entry->nrga           = nrga;
+               __entry->nrgd           = nrgd;
+               __entry->capb           = capb;
+               __entry->capa           = capa;
+               __entry->capd           = capd;
+               __entry->nrgn           = nrgn;
+               __entry->nrgp           = nrgp;
+       ),
+
+       TP_printk("pid=%d comm=%s "
+                       "src_cpu=%d dst_cpu=%d usage_delta=%d "
+                       "nrg_before=%d nrg_after=%d nrg_diff=%d "
+                       "cap_before=%d cap_after=%d cap_delta=%d "
+                       "nrg_delta=%d nrg_payoff=%d",
+               __entry->pid, __entry->comm,
+               __entry->scpu, __entry->dcpu, __entry->udelta,
+               __entry->nrgb, __entry->nrga, __entry->nrgd,
+               __entry->capb, __entry->capa, __entry->capd,
+               __entry->nrgn, __entry->nrgp)
+);
+
 #endif /* _TRACE_SCHED_H */
 
 /* This part must be outside protection */