Documentation/trace/events.rst | 12 + Documentation/trace/histogram.rst | 129 +++++++++++ include/trace/bpf_probe.h | 45 +--- include/trace/perf.h | 46 +--- include/trace/stages/stage6_event_callback.h | 3 + kernel/trace/ring_buffer.c | 7 +- kernel/trace/trace.c | 2 +- kernel/trace/trace.h | 4 + kernel/trace/trace_events.c | 2 +- kernel/trace/trace_events_filter.c | 93 +++++++- kernel/trace/trace_events_hist.c | 63 ++++-- kernel/trace/trace_events_synth.c | 83 ++++++- kernel/trace/trace_synth.h | 1 + samples/Kconfig | 7 + samples/Makefile | 1 + samples/ftrace/Makefile | 1 + samples/ftrace/ftrace-ops.c | 252 +++++++++++++++++++++ .../ftrace/test.d/filter/event-filter-function.tc | 58 +++++ .../inter-event/trigger-synthetic-event-stack.tc | 24 ++ .../inter-event/trigger-synthetic-event-syntax.tc | 6 + 20 files changed, 729 insertions(+), 110 deletions(-) create mode 100644 samples/ftrace/ftrace-ops.c create mode 100644 tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc create mode 100644 tools/testing/selftests/ftrace/test.d/trigger/inter-event/trigger-synthetic-event-stack.tc