[PATCH v1 0/4] selftests/ftrace: Add a boottime tracing test framework

Masami Hiramatsu (Google) posted 4 patches 1 month, 2 weeks ago
There is a newer version of this series
tools/testing/selftests/ftrace/Makefile            |    2
tools/testing/selftests/ftrace/boottime/Makefile   |   10 +
tools/testing/selftests/ftrace/boottime/README     |   71 ++++
.../ftrace/boottime/bootconfigs/01-kprobe.bconf    |    4
.../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
.../boottime/cmdlines/cmdline-01-ftrace.cmdline    |    1
.../cmdlines/cmdline-02-trace-event.cmdline        |    1
.../cmdlines/cmdline-03-trace-buf-size.cmdline     |    1
.../cmdlines/cmdline-04-trace-options.cmdline      |    1
.../cmdlines/cmdline-05-trace-clock.cmdline        |    1
.../cmdlines/cmdline-06-trace-instance.cmdline     |    1
.../cmdlines/persistent-01-reserve-mem.cmdline     |    1
.../cmdlines/persistent-02-backup-instance.cmdline |    1
.../selftests/ftrace/boottime/run_boottime_test.sh |  373 ++++++++++++++++++++
.../selftests/ftrace/boottime/tests/01-kprobe.sh   |   25 +
.../selftests/ftrace/boottime/tests/02-synth.sh    |   25 +
.../selftests/ftrace/boottime/tests/03-eprobe.sh   |   25 +
.../selftests/ftrace/boottime/tests/04-fprobe.sh   |   25 +
.../selftests/ftrace/boottime/tests/05-tprobe.sh   |   25 +
.../selftests/ftrace/boottime/tests/06-instance.sh |   30 ++
.../ftrace/boottime/tests/cmdline-01-ftrace.sh     |   19 +
.../boottime/tests/cmdline-02-trace-event.sh       |   26 +
.../boottime/tests/cmdline-03-trace-buf-size.sh    |   19 +
.../boottime/tests/cmdline-04-trace-options.sh     |   23 +
.../boottime/tests/cmdline-05-trace-clock.sh       |   19 +
.../boottime/tests/cmdline-06-trace-instance.sh    |   24 +
.../boottime/tests/persistent-01-reserve-mem.sh    |   28 ++
.../tests/persistent-02-backup-instance.sh         |   40 ++
tools/testing/selftests/ftrace/config              |    6
33 files changed, 847 insertions(+), 1 deletion(-)
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 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-01-ftrace.cmdline
create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-02-trace-event.cmdline
create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-03-trace-buf-size.cmdline
create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-04-trace-options.cmdline
create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-05-trace-clock.cmdline
create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-06-trace-instance.cmdline
create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/persistent-01-reserve-mem.cmdline
create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/persistent-02-backup-instance.cmdline
create mode 100755 tools/testing/selftests/ftrace/boottime/run_boottime_test.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/01-kprobe.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/02-synth.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/03-eprobe.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/04-fprobe.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/05-tprobe.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/06-instance.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-01-ftrace.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-02-trace-event.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-03-trace-buf-size.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-04-trace-options.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-05-trace-clock.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-06-trace-instance.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/persistent-01-reserve-mem.sh
create mode 100644 tools/testing/selftests/ftrace/boottime/tests/persistent-02-backup-instance.sh
[PATCH v1 0/4] selftests/ftrace: Add a boottime tracing test framework
Posted by Masami Hiramatsu (Google) 1 month, 2 weeks ago
Hi,

This series adds a boottime tracing test framework to selftests/ftrace.
This is based on v3 series[1] of the boot-time trace (via bootconfig)
testing script.

[1] https://lore.kernel.org/all/178613904128.259829.16130019979800943264.stgit@devnote2/

The new run_boottime_test.sh can run tests not only for boottime trace
but also other kernel cmdline tracing options, including persistent
ring buffer and its backup.
This makes it possible to easily detect regression bugs in the kernel
boot trace options.

Here is an example of the test output.
-----
TAP version 13
1..14
ok 1 01-kprobe
ok 2 02-synth
ok 3 03-eprobe
ok 4 04-fprobe
ok 5 05-tprobe
ok 6 06-instance
ok 7 cmdline-01-ftrace
ok 8 cmdline-02-trace-event
ok 9 cmdline-03-trace-buf-size
ok 10 cmdline-04-trace-options
ok 11 cmdline-05-trace-clock
ok 12 cmdline-06-trace-instance
ok 13 persistent-01-reserve-mem
ok 14 persistent-02-backup-instance
# Totals: pass:14 fail:0 xfail:0 xpass:0 skip:0 error:0
-----

Thanks,

---
base-commit: 29a86c5e6361caffa7e75e891169e813f82ff688

Masami Hiramatsu (Google) (4):
      selftests/ftrace: Add generic boot tracing test framework
      selftests/ftrace: Add boot-time tracing testcases
      selftests/ftrace: Add kernel cmdline tracing testcases
      selftests/ftrace: Add persistent ring buffer testcases


 tools/testing/selftests/ftrace/Makefile            |    2 
 tools/testing/selftests/ftrace/boottime/Makefile   |   10 +
 tools/testing/selftests/ftrace/boottime/README     |   71 ++++
 .../ftrace/boottime/bootconfigs/01-kprobe.bconf    |    4 
 .../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 
 .../boottime/cmdlines/cmdline-01-ftrace.cmdline    |    1 
 .../cmdlines/cmdline-02-trace-event.cmdline        |    1 
 .../cmdlines/cmdline-03-trace-buf-size.cmdline     |    1 
 .../cmdlines/cmdline-04-trace-options.cmdline      |    1 
 .../cmdlines/cmdline-05-trace-clock.cmdline        |    1 
 .../cmdlines/cmdline-06-trace-instance.cmdline     |    1 
 .../cmdlines/persistent-01-reserve-mem.cmdline     |    1 
 .../cmdlines/persistent-02-backup-instance.cmdline |    1 
 .../selftests/ftrace/boottime/run_boottime_test.sh |  373 ++++++++++++++++++++
 .../selftests/ftrace/boottime/tests/01-kprobe.sh   |   25 +
 .../selftests/ftrace/boottime/tests/02-synth.sh    |   25 +
 .../selftests/ftrace/boottime/tests/03-eprobe.sh   |   25 +
 .../selftests/ftrace/boottime/tests/04-fprobe.sh   |   25 +
 .../selftests/ftrace/boottime/tests/05-tprobe.sh   |   25 +
 .../selftests/ftrace/boottime/tests/06-instance.sh |   30 ++
 .../ftrace/boottime/tests/cmdline-01-ftrace.sh     |   19 +
 .../boottime/tests/cmdline-02-trace-event.sh       |   26 +
 .../boottime/tests/cmdline-03-trace-buf-size.sh    |   19 +
 .../boottime/tests/cmdline-04-trace-options.sh     |   23 +
 .../boottime/tests/cmdline-05-trace-clock.sh       |   19 +
 .../boottime/tests/cmdline-06-trace-instance.sh    |   24 +
 .../boottime/tests/persistent-01-reserve-mem.sh    |   28 ++
 .../tests/persistent-02-backup-instance.sh         |   40 ++
 tools/testing/selftests/ftrace/config              |    6 
 33 files changed, 847 insertions(+), 1 deletion(-)
 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 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-01-ftrace.cmdline
 create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-02-trace-event.cmdline
 create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-03-trace-buf-size.cmdline
 create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-04-trace-options.cmdline
 create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-05-trace-clock.cmdline
 create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/cmdline-06-trace-instance.cmdline
 create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/persistent-01-reserve-mem.cmdline
 create mode 100644 tools/testing/selftests/ftrace/boottime/cmdlines/persistent-02-backup-instance.cmdline
 create mode 100755 tools/testing/selftests/ftrace/boottime/run_boottime_test.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/01-kprobe.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/02-synth.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/03-eprobe.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/04-fprobe.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/05-tprobe.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/06-instance.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-01-ftrace.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-02-trace-event.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-03-trace-buf-size.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-04-trace-options.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-05-trace-clock.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/cmdline-06-trace-instance.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/persistent-01-reserve-mem.sh
 create mode 100644 tools/testing/selftests/ftrace/boottime/tests/persistent-02-backup-instance.sh

--
Masami Hiramatsu (Google) <mhiramat@kernel.org>
Re: [PATCH v1 0/4] selftests/ftrace: Add a boottime tracing test framework
Posted by Steven Rostedt 1 month, 2 weeks ago
On Mon, 10 Aug 2026 18:33:45 +0900
"Masami Hiramatsu (Google)" <mhiramat@kernel.org> wrote:

> Hi,
> 
> This series adds a boottime tracing test framework to selftests/ftrace.
> This is based on v3 series[1] of the boot-time trace (via bootconfig)
> testing script.
> 
> [1] https://lore.kernel.org/all/178613904128.259829.16130019979800943264.stgit@devnote2/
> 
> The new run_boottime_test.sh can run tests not only for boottime trace
> but also other kernel cmdline tracing options, including persistent
> ring buffer and its backup.
> This makes it possible to easily detect regression bugs in the kernel
> boot trace options.
> 
> Here is an example of the test output.
> -----
> TAP version 13
> 1..14
> ok 1 01-kprobe
> ok 2 02-synth
> ok 3 03-eprobe
> ok 4 04-fprobe
> ok 5 05-tprobe
> ok 6 06-instance
> ok 7 cmdline-01-ftrace
> ok 8 cmdline-02-trace-event
> ok 9 cmdline-03-trace-buf-size
> ok 10 cmdline-04-trace-options
> ok 11 cmdline-05-trace-clock
> ok 12 cmdline-06-trace-instance
> ok 13 persistent-01-reserve-mem
> ok 14 persistent-02-backup-instance
> # Totals: pass:14 fail:0 xfail:0 xpass:0 skip:0 error:0
> -----

Just to understand this better. This series creates a small ramdisk and
runs qemu on a given kernel to boot in qemu and test, right?

Can you add the examples you have in the documentation patch to the cover
letter. That will market more exactly what you are doing.

-- Steve
Re: [PATCH v1 0/4] selftests/ftrace: Add a boottime tracing test framework
Posted by Masami Hiramatsu (Google) 1 month, 2 weeks ago
On Mon, 10 Aug 2026 10:53:00 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> On Mon, 10 Aug 2026 18:33:45 +0900
> "Masami Hiramatsu (Google)" <mhiramat@kernel.org> wrote:
> 
> > Hi,
> > 
> > This series adds a boottime tracing test framework to selftests/ftrace.
> > This is based on v3 series[1] of the boot-time trace (via bootconfig)
> > testing script.
> > 
> > [1] https://lore.kernel.org/all/178613904128.259829.16130019979800943264.stgit@devnote2/
> > 
> > The new run_boottime_test.sh can run tests not only for boottime trace
> > but also other kernel cmdline tracing options, including persistent
> > ring buffer and its backup.
> > This makes it possible to easily detect regression bugs in the kernel
> > boot trace options.
> > 
> > Here is an example of the test output.
> > -----
> > TAP version 13
> > 1..14
> > ok 1 01-kprobe
> > ok 2 02-synth
> > ok 3 03-eprobe
> > ok 4 04-fprobe
> > ok 5 05-tprobe
> > ok 6 06-instance
> > ok 7 cmdline-01-ftrace
> > ok 8 cmdline-02-trace-event
> > ok 9 cmdline-03-trace-buf-size
> > ok 10 cmdline-04-trace-options
> > ok 11 cmdline-05-trace-clock
> > ok 12 cmdline-06-trace-instance
> > ok 13 persistent-01-reserve-mem
> > ok 14 persistent-02-backup-instance
> > # Totals: pass:14 fail:0 xfail:0 xpass:0 skip:0 error:0
> > -----
> 
> Just to understand this better. This series creates a small ramdisk and
> runs qemu on a given kernel to boot in qemu and test, right?

Yes, that's right.

> 
> Can you add the examples you have in the documentation patch to the cover
> letter. That will market more exactly what you are doing.

OK, let me update the series with the explanation.

Thank you!

> 
> -- Steve


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>