Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4b0c3ac authored by Juri Lelli's avatar Juri Lelli Committed by Dmitry Shmidt
Browse files

ANDROID: DEBUG: sched: add tracepoint for task load/util signals

parent 0a942008
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
@@ -610,6 +610,49 @@ TRACE_EVENT(sched_contrib_scale_f,
		  __entry->cpu, __entry->freq_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 */

/* This part must be outside protection */
+3 −0
Original line number Diff line number Diff line
@@ -3085,6 +3085,9 @@ static inline void update_load_avg(struct sched_entity *se, int update_tg)

	if (update_cfs_rq_load_avg(now, cfs_rq, true) && update_tg)
		update_tg_load_avg(cfs_rq, 0);

	if (entity_is_task(se))
		trace_sched_load_avg_task(task_of(se), &se->avg);
}

/**