Commit 5fe6ec8f authored by Peter Zijlstra's avatar Peter Zijlstra
Browse files

sched: Remove vruntime from trace_sched_stat_runtime()



Tracing the runtime delta makes sense, observer can sum over time.
Tracing the absolute vruntime makes less sense, inconsistent:
absolute-vs-delta, but also vruntime delta can be computed from
runtime delta.

Removing the vruntime thing also makes the two tracepoint sites
identical, allowing to unify the code in a later patch.

Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
parent 5d69eca5
Loading
Loading
Loading
Loading
+6 −9
Original line number Diff line number Diff line
@@ -493,33 +493,30 @@ DEFINE_EVENT_SCHEDSTAT(sched_stat_template, sched_stat_blocked,
 */
DECLARE_EVENT_CLASS(sched_stat_runtime,

	TP_PROTO(struct task_struct *tsk, u64 runtime, u64 vruntime),
	TP_PROTO(struct task_struct *tsk, u64 runtime),

	TP_ARGS(tsk, __perf_count(runtime), vruntime),
	TP_ARGS(tsk, __perf_count(runtime)),

	TP_STRUCT__entry(
		__array( char,	comm,	TASK_COMM_LEN	)
		__field( pid_t,	pid			)
		__field( u64,	runtime			)
		__field( u64,	vruntime			)
	),

	TP_fast_assign(
		memcpy(__entry->comm, tsk->comm, TASK_COMM_LEN);
		__entry->pid		= tsk->pid;
		__entry->runtime	= runtime;
		__entry->vruntime	= vruntime;
	),

	TP_printk("comm=%s pid=%d runtime=%Lu [ns] vruntime=%Lu [ns]",
	TP_printk("comm=%s pid=%d runtime=%Lu [ns]",
			__entry->comm, __entry->pid,
			(unsigned long long)__entry->runtime,
			(unsigned long long)__entry->vruntime)
			(unsigned long long)__entry->runtime)
);

DEFINE_EVENT(sched_stat_runtime, sched_stat_runtime,
	     TP_PROTO(struct task_struct *tsk, u64 runtime, u64 vruntime),
	     TP_ARGS(tsk, runtime, vruntime));
	     TP_PROTO(struct task_struct *tsk, u64 runtime),
	     TP_ARGS(tsk, runtime));

/*
 * Tracepoint for showing priority inheritance modifying a tasks
+2 −3
Original line number Diff line number Diff line
@@ -1138,8 +1138,7 @@ s64 update_curr_common(struct rq *rq)
	if (unlikely(delta_exec <= 0))
		return delta_exec;

	trace_sched_stat_runtime(curr, delta_exec, 0);

	trace_sched_stat_runtime(curr, delta_exec);
	account_group_exec_runtime(curr, delta_exec);
	cgroup_account_cputime(curr, delta_exec);

@@ -1168,7 +1167,7 @@ static void update_curr(struct cfs_rq *cfs_rq)
	if (entity_is_task(curr)) {
		struct task_struct *curtask = task_of(curr);

		trace_sched_stat_runtime(curtask, delta_exec, curr->vruntime);
		trace_sched_stat_runtime(curtask, delta_exec);
		cgroup_account_cputime(curtask, delta_exec);
		account_group_exec_runtime(curtask, delta_exec);
	}