summaryrefslogtreecommitdiffstats
path: root/kernel/trace/pid_list.h
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2021-09-23 21:03:49 -0400
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2021-10-05 17:30:08 -0400
commit6954e415264eeb5ee6be0d22d789ad12c995ee64 (patch)
tree12da7d7dafca9da48f6b42d917a24ff84244f0f1 /kernel/trace/pid_list.h
parentbf094cffea2a6503ce84062f9f0243bef77c58f9 (diff)
downloadlinux-6954e415264eeb5ee6be0d22d789ad12c995ee64.tar.bz2
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>
Diffstat (limited to 'kernel/trace/pid_list.h')
-rw-r--r--kernel/trace/pid_list.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/kernel/trace/pid_list.h b/kernel/trace/pid_list.h
new file mode 100644
index 000000000000..80d0ecfe1536
--- /dev/null
+++ b/kernel/trace/pid_list.h
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0
+
+/* Do not include this file directly. */
+
+#ifndef _TRACE_INTERNAL_PID_LIST_H
+#define _TRACE_INTERNAL_PID_LIST_H
+
+struct trace_pid_list {
+ int pid_max;
+ unsigned long *pids;
+};
+
+#endif /* _TRACE_INTERNAL_PID_LIST_H */