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

"Masami Hiramatsu (Google)" <[email protected]>
Newsgroups org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest,org.kernel.vger.linux-trace-kernel
Message-ID <178613904128.259829.16130019979800943264.stgit@devnote2>
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/

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) <[email protected]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.