DEBUG: sched: add tracepoint for task load/util signals
Signed-off-by: Juri Lelli <juri.lelli@arm.com>
This commit is contained in:
parent
99ed4e57cb
commit
8017fd7418
2 changed files with 46 additions and 0 deletions
|
@ -586,6 +586,49 @@ TRACE_EVENT(sched_contrib_scale_f,
|
||||||
__entry->cpu, __entry->freq_scale_factor,
|
__entry->cpu, __entry->freq_scale_factor,
|
||||||
__entry->cpu_scale_factor)
|
__entry->cpu_scale_factor)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Tracepoint for accounting sched averages for tasks.
|
||||||
|
*/
|
||||||
|
TRACE_EVENT(sched_load_avg_task,
|
||||||
|
|
||||||
|
TP_PROTO(struct task_struct *tsk, struct sched_avg *avg),
|
||||||
|
|
||||||
|
TP_ARGS(tsk, avg),
|
||||||
|
|
||||||
|
TP_STRUCT__entry(
|
||||||
|
__array( char, comm, TASK_COMM_LEN )
|
||||||
|
__field( pid_t, pid )
|
||||||
|
__field( int, cpu )
|
||||||
|
__field( unsigned long, load_avg )
|
||||||
|
__field( unsigned long, util_avg )
|
||||||
|
__field( u64, load_sum )
|
||||||
|
__field( u32, util_sum )
|
||||||
|
__field( u32, period_contrib )
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_fast_assign(
|
||||||
|
memcpy(__entry->comm, tsk->comm, TASK_COMM_LEN);
|
||||||
|
__entry->pid = tsk->pid;
|
||||||
|
__entry->cpu = task_cpu(tsk);
|
||||||
|
__entry->load_avg = avg->load_avg;
|
||||||
|
__entry->util_avg = avg->util_avg;
|
||||||
|
__entry->load_sum = avg->load_sum;
|
||||||
|
__entry->util_sum = avg->util_sum;
|
||||||
|
__entry->period_contrib = avg->period_contrib;
|
||||||
|
),
|
||||||
|
|
||||||
|
TP_printk("comm=%s pid=%d cpu=%d load_avg=%lu util_avg=%lu load_sum=%llu"
|
||||||
|
" util_sum=%u period_contrib=%u",
|
||||||
|
__entry->comm,
|
||||||
|
__entry->pid,
|
||||||
|
__entry->cpu,
|
||||||
|
__entry->load_avg,
|
||||||
|
__entry->util_avg,
|
||||||
|
(u64)__entry->load_sum,
|
||||||
|
(u32)__entry->util_sum,
|
||||||
|
(u32)__entry->period_contrib)
|
||||||
|
);
|
||||||
#endif /* _TRACE_SCHED_H */
|
#endif /* _TRACE_SCHED_H */
|
||||||
|
|
||||||
/* This part must be outside protection */
|
/* This part must be outside protection */
|
||||||
|
|
|
@ -2731,6 +2731,9 @@ static inline void update_load_avg(struct sched_entity *se, int update_tg)
|
||||||
|
|
||||||
if (update_cfs_rq_load_avg(now, cfs_rq) && update_tg)
|
if (update_cfs_rq_load_avg(now, cfs_rq) && update_tg)
|
||||||
update_tg_load_avg(cfs_rq, 0);
|
update_tg_load_avg(cfs_rq, 0);
|
||||||
|
|
||||||
|
if (entity_is_task(se))
|
||||||
|
trace_sched_load_avg_task(task_of(se), &se->avg);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void attach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
|
static void attach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
|
||||||
|
|
Loading…
Add table
Reference in a new issue