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