[PATCH v2 0/7] tracing: Parse filter from boot event string

From: Thomas Weißschuh

Date: Tue Sep 08 2026 - 02:28:00 EST


Make it possible to specify a trace event filter from the
kernel command line.

Example:

trace_event=syscalls:sys_enter_clock_nanosleep:filter:which_clock==0

As a preparation also add a KUnit test for the event string parsing.

Patch 1 is a bugfix which is already useful.
Patch 2 is a cleanup which is already useful.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
---
Changes in v2:
- Require an explicit :filter: prefix.
- Drop RFC prefix.
- Add MODULE_DESCRIPTION() to test module.
- Avoid invalid __free(kfree).
- Add documentation.
- Only allow filters from the boot command line.
- Move the filter to the very end of the event string and add a :filter: keyword.
- Add an example.
- Link to v1: https://patch.msgid.link/20260813-tracing-cli-event-filter-v1-0-57c4e8029c86@xxxxxxxxxxxxx

---
Thomas Weißschuh (7):
tracing: Restore :mod: trailer after parsing in ftrace_set_clr_event()
tracing: Remove duplicate declaration of ftrace_set_clr_event()
tracing: Stop modifying the input buffer in ftrace_set_clr_event()
tracing: Split the event string parsing logic into a dedicated function
tracing: Add a test for ftrace_parse_event_string()
tracing: Add a filter argument to __ftrace_set_clr_event()
tracing: Parse filter from boot event string

Documentation/admin-guide/kernel-parameters.txt | 9 +-
Documentation/trace/events.rst | 5 +
include/linux/trace_events.h | 2 +-
kernel/trace/Kconfig | 8 ++
kernel/trace/Makefile | 1 +
kernel/trace/trace.h | 6 +-
kernel/trace/trace_boot.c | 2 +-
kernel/trace/trace_events.c | 123 +++++++++++++++---------
kernel/trace/trace_events_test.c | 122 +++++++++++++++++++++++
9 files changed, 228 insertions(+), 50 deletions(-)
---
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
change-id: 20260812-tracing-cli-event-filter-7c91ee33a27e

Best regards,
--
Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>