[PATCH 0/7] tracing: Add support for in-kernel synthetic event API

From: Tom Zanussi
Date: Wed Dec 18 2019 - 10:27:50 EST


Hi,

I've recently had several requests and suggestions from users to add
support for the creation and generation of synthetic events from
kernel code such as modules, and not just from the available command
line commands.

This patchset adds support for that. The first three patches add some
minor preliminary setup, followed by the two main patches that add the
ability to create and generate synthetic events from the kernel. The
next patch adds a test module that demonstrates actual use of the API
and verifies that it works as intended, followed by Documentation.

Special thanks to Artem Bityutskiy, who worked with me over several
iterations of the API, and who had many great suggestions on the
details of the interface, and pointed out several problems with the
code itself.

The following changes since commit d783b3c08c14fccbc4d5ef33a38288ec9b264df7:

tracing: Have the histogram compare functions convert to u64 first (2019-12-11 15:47:14 -0500)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/zanussi/linux-trace.git ftrace/synth-event-gen-v1

Tom Zanussi (7):
tracing: Add trace_array_find() to find instance trace arrays
tracing: Add get/put_event_file()
tracing: Add delete_synth_event()
tracing: Add create_synth_event()
tracing: Add generate_synth_event() and related functions
tracing: Add synth event generation test module
tracing: Documentation for in-kernel synthetic event API

Documentation/trace/events.rst | 268 +++++++++++++
include/linux/trace_events.h | 53 +++
kernel/trace/Kconfig | 13 +
kernel/trace/Makefile | 1 +
kernel/trace/synth_event_gen_test.c | 330 ++++++++++++++++
kernel/trace/trace.c | 30 +-
kernel/trace/trace.h | 1 +
kernel/trace/trace_events.c | 130 +++++++
kernel/trace/trace_events_hist.c | 722 +++++++++++++++++++++++++++++++++++-
9 files changed, 1521 insertions(+), 27 deletions(-)
create mode 100644 kernel/trace/synth_event_gen_test.c

--
2.14.1