tracing: Implement event pid filtering
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Fri, 25 Sep 2015 16:58:44 +0000 (12:58 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Mon, 26 Oct 2015 01:33:56 +0000 (21:33 -0400)
commit3fdaf80f4a836911c0eda1cee92f8aa625f90197
tree02a11349dcf8c02f58af1e2823c61bff8062fbbb
parent4909010788640b7101bf50cddb7c5e60172b4433
tracing: Implement event pid filtering

Add the necessary hooks to use the pids loaded in set_event_pid to filter
all the events enabled in the tracing instance that match the pids listed.

Two probes are added to both sched_switch and sched_wakeup tracepoints to be
called before other probes are called and after the other probes are called.
The first is used to set the necessary flags to let the probes know to test
if they should be traced or not.

The sched_switch pre probe will set the "ignore_pid" flag if neither the
previous or next task has a matching pid.

The sched_switch probe will set the "ignore_pid" flag if the next task
does not match the matching pid.

The pre probe allows for probes tracing sched_switch to be traced if
necessary.

The sched_wakeup pre probe will set the "ignore_pid" flag if neither the
current task nor the wakee task has a matching pid.

The sched_wakeup post probe will set the "ignore_pid" flag if the current
task does not have a matching pid.

Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/trace_events.h
kernel/trace/trace.h
kernel/trace/trace_events.c