Documentation/trace/index.rst | 1 + Documentation/trace/user_events.rst | 216 +++ include/uapi/linux/user_events.h | 116 ++ kernel/trace/Kconfig | 14 + kernel/trace/Makefile | 1 + kernel/trace/trace.c | 55 +- kernel/trace/trace.h | 2 +- kernel/trace/trace_events_hist.c | 30 +- kernel/trace/trace_events_synth.c | 17 +- kernel/trace/trace_events_user.c | 1617 +++++++++++++++++++++ kernel/trace/trace_sched_switch.c | 2 +- samples/user_events/Makefile | 5 + samples/user_events/example.c | 91 ++ tools/testing/selftests/user_events/Makefile | 9 + tools/testing/selftests/user_events/dyn_test.c | 130 ++ tools/testing/selftests/user_events/ftrace_test.c | 452 ++++++ tools/testing/selftests/user_events/perf_test.c | 168 +++ tools/testing/selftests/user_events/settings | 1 + 18 files changed, 2902 insertions(+), 25 deletions(-) create mode 100644 Documentation/trace/user_events.rst create mode 100644 include/uapi/linux/user_events.h create mode 100644 kernel/trace/trace_events_user.c create mode 100644 samples/user_events/Makefile create mode 100644 samples/user_events/example.c create mode 100644 tools/testing/selftests/user_events/Makefile create mode 100644 tools/testing/selftests/user_events/dyn_test.c create mode 100644 tools/testing/selftests/user_events/ftrace_test.c create mode 100644 tools/testing/selftests/user_events/perf_test.c create mode 100644 tools/testing/selftests/user_events/settings