sched: Remove vruntime from trace_sched_stat_runtime()
authorPeter Zijlstra <peterz@infradead.org>
Mon, 6 Nov 2023 12:41:43 +0000 (13:41 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 15 Nov 2023 08:57:49 +0000 (09:57 +0100)
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: Peter Zijlstra (Intel) <peterz@infradead.org>
include/trace/events/sched.h
kernel/sched/fair.c

index 6188ad0d9e0d98e04468b302b2527ff2a280422f..dbb01b4b745108993fcf28531eb93b6aa3b68ad3 100644 (file)
@@ -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
index 11073cf0013450ef189566dfa74dff6b82267057..33db70c6b58260d471e55bf04af5b0e36da6fd63 100644 (file)
@@ -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);
        }