tracing: add sched_set_prio tracepoint sched_set_prio
authorJulien Desfossez <jdesfossez@efficios.com>
Mon, 16 May 2016 14:57:38 +0000 (10:57 -0400)
committerJulien Desfossez <jdesfossez@efficios.com>
Mon, 27 Jun 2016 18:14:21 +0000 (14:14 -0400)
commit3b8667416fbb39fd46ec705d202879fc96a780d4
treede5bb97df785388dfc519beb4a66ce2071bc2cf9
parent9908df2ece75e0423afa916c95c33cc77b824d68
tracing: add sched_set_prio tracepoint

This tracepoint allows to keep track of all priority changes made by all
sites that can change this value. The impacted system calls are
sched_setscheduler, sched_setattr, sched_process_fork and set_user_nice.
The priority inheritance mechanism from rt_mutex gets also instrumented
with this tracepoint even though there is a dedicated tracepoint for it
(sched_pi_setprio).

This allows analysis of real-time scheduling delays per thread priority,
which cannot be performed accurately if we only trace the priority of
the currently scheduled processes.

Here is an example of what is output by ftrace when we change the
priority of a running process:
sys_sched_setscheduler(pid: 1c52, policy: 2, param: 7ffc22e20980)
sched_set_prio: comm=burnP6 pid=7250 oldprio=120 newprio=39
sys_sched_setscheduler -> 0x0
sched_switch: prev_comm=chrt prev_pid=7268 prev_prio=120
              prev_state=R ==> next_comm=burnP6 next_pid=7250
              next_prio=39

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/trace/events/sched.h
kernel/sched/core.c
This page took 0.024754 seconds and 5 git commands to generate.