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

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
...@@ -493,33 +493,30 @@ DEFINE_EVENT_SCHEDSTAT(sched_stat_template, sched_stat_blocked, ...@@ -493,33 +493,30 @@ DEFINE_EVENT_SCHEDSTAT(sched_stat_template, sched_stat_blocked,
*/ */
DECLARE_EVENT_CLASS(sched_stat_runtime, 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( TP_STRUCT__entry(
__array( char, comm, TASK_COMM_LEN ) __array( char, comm, TASK_COMM_LEN )
__field( pid_t, pid ) __field( pid_t, pid )
__field( u64, runtime ) __field( u64, runtime )
__field( u64, vruntime )
), ),
TP_fast_assign( TP_fast_assign(
memcpy(__entry->comm, tsk->comm, TASK_COMM_LEN); memcpy(__entry->comm, tsk->comm, TASK_COMM_LEN);
__entry->pid = tsk->pid; __entry->pid = tsk->pid;
__entry->runtime = runtime; __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, __entry->comm, __entry->pid,
(unsigned long long)__entry->runtime, (unsigned long long)__entry->runtime)
(unsigned long long)__entry->vruntime)
); );
DEFINE_EVENT(sched_stat_runtime, sched_stat_runtime, DEFINE_EVENT(sched_stat_runtime, sched_stat_runtime,
TP_PROTO(struct task_struct *tsk, u64 runtime, u64 vruntime), TP_PROTO(struct task_struct *tsk, u64 runtime),
TP_ARGS(tsk, runtime, vruntime)); TP_ARGS(tsk, runtime));
/* /*
* Tracepoint for showing priority inheritance modifying a tasks * Tracepoint for showing priority inheritance modifying a tasks
......
...@@ -1138,8 +1138,7 @@ s64 update_curr_common(struct rq *rq) ...@@ -1138,8 +1138,7 @@ s64 update_curr_common(struct rq *rq)
if (unlikely(delta_exec <= 0)) if (unlikely(delta_exec <= 0))
return delta_exec; 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); account_group_exec_runtime(curr, delta_exec);
cgroup_account_cputime(curr, delta_exec); cgroup_account_cputime(curr, delta_exec);
...@@ -1168,7 +1167,7 @@ static void update_curr(struct cfs_rq *cfs_rq) ...@@ -1168,7 +1167,7 @@ static void update_curr(struct cfs_rq *cfs_rq)
if (entity_is_task(curr)) { if (entity_is_task(curr)) {
struct task_struct *curtask = task_of(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); cgroup_account_cputime(curtask, delta_exec);
account_group_exec_runtime(curtask, delta_exec); account_group_exec_runtime(curtask, delta_exec);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment