[PATCH tip 0/3] Improvements of scheduler related Tracepoints

From: Teng Qin
Date: Thu Dec 14 2017 - 15:21:27 EST


This set of commits attempts to improve three scheduler related
Tracepoints: sched_switch, sched_process_fork, sched_process_exit.

Firstly, these commit add additional flag values, namely preempt,
clone_flags and group_dead to these Tracepoints, to make information
exposed via the Tracepoints more useful and complete.

Secondly, these commits exposes task_struct pointers in these
Tracepoints. The task_struct pointers are arguments of the Tracepoints
and currently only used to compute struct field values. But for BPF
programs attached to these Tracepoints, we may want to read additional
task information via the task_struct pointers. This is currently either
impossible, or we have to make assumption of whether the Tracepoint is
running from previous / parent or next / child, and use current pointer
instead. Exposing the task_struct pointers explicitly makes such use
case easier and more reliable.

Teng Qin (3):
Improve sched_switch Tracepoint
Improve sched_process_fork Tracepoint
Improve sched_process_exit Tracepoint

include/trace/events/sched.h | 54 ++++++++++++++++++++++++++++++++++++--------
kernel/exit.c | 2 +-
kernel/fork.c | 2 +-
3 files changed, 46 insertions(+), 12 deletions(-)

--
2.9.5