sched/dl: Support sched_stat_runtime tracepoint for deadline sched class
authorYafang Shao <laoar.shao@gmail.com>
Sun, 5 Sep 2021 14:35:46 +0000 (14:35 +0000)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 5 Oct 2021 13:51:52 +0000 (15:51 +0200)
The runtime of a DL task has already been there, so we only need to
add a tracepoint.

One difference between fair task and DL task is that there is no vruntime
in dl task. To reuse the sched_stat_runtime tracepoint, '0' is passed as
vruntime for DL task.

The output of this tracepoint for DL task as follows,
             top-36462   [047] d.h.  6083.452103: sched_stat_runtime: comm=top pid=36462 runtime=409898 [ns] vruntime=0 [ns]

Signed-off-by: Yafang Shao <laoar.shao@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210905143547.4668-8-laoar.shao@gmail.com
kernel/sched/deadline.c

index 51dd309..73fb33e 100644 (file)
@@ -1268,6 +1268,8 @@ static void update_curr_dl(struct rq *rq)
        schedstat_set(curr->stats.exec_max,
                      max(curr->stats.exec_max, delta_exec));
 
+       trace_sched_stat_runtime(curr, delta_exec, 0);
+
        curr->se.sum_exec_runtime += delta_exec;
        account_group_exec_runtime(curr, delta_exec);