tracing: Place trace_pid_list logic into abstract functions
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Fri, 24 Sep 2021 01:03:49 +0000 (21:03 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 5 Oct 2021 21:30:08 +0000 (17:30 -0400)
commit6954e415264eeb5ee6be0d22d789ad12c995ee64
tree12da7d7dafca9da48f6b42d917a24ff84244f0f1
parentbf094cffea2a6503ce84062f9f0243bef77c58f9
tracing: Place trace_pid_list logic into abstract functions

Instead of having the logic that does trace_pid_list open coded, wrap it in
abstract functions. This will allow a rewrite of the logic that implements
the trace_pid_list without affecting the users.

Note, this causes a change in behavior. Every time a pid is written into
the set_*_pid file, it creates a new list and uses RCU to update it. If
pid_max is lowered, but there was a pid currently in the list that was
higher than pid_max, those pids will now be removed on updating the list.
The old behavior kept that from happening.

The rewrite of the pid_list logic will no longer depend on pid_max,
and will return the old behavior.

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/Makefile
kernel/trace/ftrace.c
kernel/trace/pid_list.c [new file with mode: 0644]
kernel/trace/pid_list.h [new file with mode: 0644]
kernel/trace/trace.c
kernel/trace/trace.h
kernel/trace/trace_events.c