[PATCH v2 0/4] tracing: Addition of tracing instances via kernel command line

From: Steven Rostedt
Date: Tue Feb 07 2023 - 12:30:40 EST


Instance creation can happen with the bootconfig but there's currently
no way to create and enable instances via the normal command line.

This series fixes that.

trace_instance=foo,sched_switch,sched_waking ftrace_boot_snapshot=foo

The above creates a "foo" instance at early start up and enables
the sched_switch and sched_waking events. Then at the end of boot up
a snapshot is taken so that user space does not overwrite the boot
up data.

Changes since v1: https://lore.kernel.org/linux-trace-kernel/20230111145636.450953217@xxxxxxxxxxx/
- Fixed document grammar (Randy Dunlap)
- Removed extra workqueue.h include (Ross Zwisler)
- Use sizeof(boot_instance_info) than using COMMAND_LINE_SIZE)
- Remove unneeded @ip in kernel-doc (Ross Zwisler)
- Make stub function for do_allocate_snapshot() for !CONFIG_TRACER_MAX_TRACE (kernel test robot)
- Compare strstr() to NULL and not zero (kernel test robot)
- Use sizeof(boot_snapshot_info) instead of COMMAND_LINE_SIZE (Ross Zwisler)

Steven Rostedt (Google) (4):
tracing: Add creation of instances at boot command line
tracing: Add enabling of events to boot instances
tracing: Add trace_array_puts() to write into instance
tracing: Allow boot instances to have snapshot buffers

----
Documentation/admin-guide/bootconfig.rst | 6 +-
Documentation/admin-guide/kernel-parameters.txt | 29 +++++
include/linux/bootconfig.h | 2 +-
include/linux/trace.h | 12 ++
init/Kconfig | 13 --
init/main.c | 2 +-
kernel/trace/trace.c | 160 +++++++++++++++++++++---
kernel/trace/trace.h | 2 +
kernel/trace/trace_events.c | 9 +-
9 files changed, 193 insertions(+), 42 deletions(-)