Thread (4 messages) flat view 4 messages, 1 author, 21h ago
HOTtoday

Revision v3 of 3 in this series.

Revisions (3)
  1. v1 [diff vs current]
  2. v2 [diff vs current]
  3. v3 current

[PATCH v3 0/2] tracing/boot: Support eprobe, fprobe, and tprobe events and add test framework

From: "Masami Hiramatsu (Google)" <mhiramat@kernel.org>
Date: 2026-08-07 21:44:06
Also in: linux-doc, linux-kselftest, lkml

Hi,

This is the 3rd version of series to extend kernel boot-time tracing to
support newly added dynamic event types (eprobes, fprobes, and tracepoint
probes) and introduces an automated QEMU-based test suite under
tools/testing/selftests/ftrace/boottime/.
The previous version is here:

 https://lore.kernel.org/all/178602969872.141946.3932041319962687996.stgit@devnote2/ (local)

Changes in v3:
 - tracing/boot: Check return values of strscpy() and snprintf() in
   trace_boot_add_probe_event() to prevent silent buffer truncation.
 - selftests/ftrace: Remove boottime/run_boottime_test.sh from
   TEST_PROGS_EXTENDED in Makefile to prevent lib.mk from flattening it
   into top-level ftrace/ on make install.
 - selftests/ftrace: Support executing run_boottime_test.sh both in-tree
   and in installed kselftest environment.
 - selftests/ftrace: Add HUP, INT, and TERM signal handlers to tempdir
   cleanup trap.
 - selftests/ftrace: Validate workdir creation and update
   run_single_test() to return 0 on test failure so set -e is not
   suspended by invocation in an AND-OR list.

Changes in v2:
 - Fix raw command detection logic for eprobes, fprobes, and tprobes
   by requiring ':' or isspace() after type prefix.
 - Consolidate duplicate loop logic into trace_boot_add_probe_event()
   helper function.
 - Copy shared library dependencies using ldd if busybox is dynamically
   linked.
 - Wrap QEMU execution with timeout command and add -T/--timeout CLI
   option.
 - Add pre-flight checks for busybox architecture compatibility and
   cpio tool in run_boottime_test.sh.
 - Fix POSIX syntax compatibility and allow bypassing HOST_ARCH skip
   when custom kernel/QEMU parameters are passed.
 - Add boottime/run_boottime_test.sh to TEST_PROGS_EXTENDED in
   selftests/ftrace/Makefile.

Thanks,

---
base-commit: 54f133c6178d06b169dceae18cc92c4945933b8c

Masami Hiramatsu (Google) (2):
      tracing/boot: Add support for eprobe, fprobe, and tprobe events
      selftests/ftrace: Add boot-time tracing test framework


 Documentation/trace/boottime-trace.rst             |   18 +
 kernel/trace/trace_boot.c                          |   97 +++++++
 kernel/trace/trace_dynevent.c                      |    5 
 tools/testing/selftests/ftrace/Makefile            |    2 
 tools/testing/selftests/ftrace/boottime/Makefile   |   10 +
 tools/testing/selftests/ftrace/boottime/README     |   58 ++++
 .../ftrace/boottime/bootconfigs/01-kprobe.bconf    |    5 
 .../ftrace/boottime/bootconfigs/02-synth.bconf     |    4 
 .../ftrace/boottime/bootconfigs/03-eprobe.bconf    |    4 
 .../ftrace/boottime/bootconfigs/04-fprobe.bconf    |    4 
 .../ftrace/boottime/bootconfigs/05-tprobe.bconf    |    4 
 .../ftrace/boottime/bootconfigs/06-instance.bconf  |    5 
 .../selftests/ftrace/boottime/run_boottime_test.sh |  271 ++++++++++++++++++++
 .../selftests/ftrace/boottime/tests/01-kprobe.sh   |   18 +
 .../selftests/ftrace/boottime/tests/02-synth.sh    |   18 +
 .../selftests/ftrace/boottime/tests/03-eprobe.sh   |   18 +
 .../selftests/ftrace/boottime/tests/04-fprobe.sh   |   18 +
 .../selftests/ftrace/boottime/tests/05-tprobe.sh   |   18 +
 .../selftests/ftrace/boottime/tests/06-instance.sh |   23 ++
 tools/testing/selftests/ftrace/config              |    4 
 20 files changed, 600 insertions(+), 4 deletions(-)
 create mode 100644 tools/testing/selftests/ftrace/boottime/Makefile
 create mode 100644 tools/testing/selftests/ftrace/boottime/README
 create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/01-kprobe.bconf
 create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/02-synth.bconf
 create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/03-eprobe.bconf
 create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/04-fprobe.bconf
 create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/05-tprobe.bconf
 create mode 100644 tools/testing/selftests/ftrace/boottime/bootconfigs/06-instance.bconf
 create mode 100755 tools/testing/selftests/ftrace/boottime/run_boottime_test.sh
 create mode 100755 tools/testing/selftests/ftrace/boottime/tests/01-kprobe.sh
 create mode 100755 tools/testing/selftests/ftrace/boottime/tests/02-synth.sh
 create mode 100755 tools/testing/selftests/ftrace/boottime/tests/03-eprobe.sh
 create mode 100755 tools/testing/selftests/ftrace/boottime/tests/04-fprobe.sh
 create mode 100755 tools/testing/selftests/ftrace/boottime/tests/05-tprobe.sh
 create mode 100755 tools/testing/selftests/ftrace/boottime/tests/06-instance.sh

--
Masami Hiramatsu (Google) [off-list ref]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help