tracing: Allow creating instances with specified system events
authorSteven Rostedt (Google) <rostedt@goodmis.org>
Wed, 13 Dec 2023 14:37:01 +0000 (09:37 -0500)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 19 Dec 2023 04:14:16 +0000 (23:14 -0500)
commitd23569979ca1cd139a42c410e0c7b9e6014c3b3a
tree43ca018f44955f17249cd0d4161b6bc8571ae01e
parentb803d7c664d55705831729d2f2e29c874bcd62ea
tracing: Allow creating instances with specified system events

A trace instance may only need to enable specific events. As the eventfs
directory of an instance currently creates all events which adds overhead,
allow internal instances to be created with just the events in systems
that they care about. This currently only deals with systems and not
individual events, but this should bring down the overhead of creating
instances for specific use cases quite bit.

The trace_array_get_by_name() now has another parameter "systems". This
parameter is a const string pointer of a comma/space separated list of
event systems that should be created by the trace_array. (Note if the
trace_array already exists, this parameter is ignored).

The list of systems is saved and if a module is loaded, its events will
not be added unless the system for those events also match the systems
string.

Link: https://lore.kernel.org/linux-trace-kernel/20231213093701.03fddec0@gandalf.local.home
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Arun Easi <aeasi@marvell.com>
Cc: Daniel Wagner <dwagner@suse.de>
Tested-by: Dmytro Maluka <dmaluka@chromium.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
drivers/scsi/qla2xxx/qla_os.c
include/linux/trace.h
kernel/trace/trace.c
kernel/trace/trace.h
kernel/trace/trace_boot.c
kernel/trace/trace_events.c
samples/ftrace/sample-trace-array.c