The libtracefs logic that works with ftrace dynamic events is unified and capsulated into internal APIs. This change makes the code more consistent and reusable. Also, adding future libtracefs support for uprobes and eprobes dynamic events is simplified. The existing library APIs for kprobes and synthetic events are reimplemented using the new dynamic events helpers. Tzvetomir Stoyanov (VMware) (12): libtracefs: Add new internal APIs for dynamic events libtracefs: Rename tracefs_get_kprobes API libtracefs: New kprobes APIs libtracefs: Remove redundant kprobes APIs libtracefs: Reimplement tracefs_kprobes_get API libtracefs: Change tracefs_kprobe_info API libtracefs: Reimplement kprobe raw APIs libtracefs: Extend kprobes unit test libtracefs: Update kprobes man pages libtracefs: Rename tracefs_synth_init API libtracefs: Use the internal dynamic events API when creating synthetic events libtracefs: Document tracefs_dynevent_list_free() API Documentation/libtracefs-kprobes.txt | 135 ++++--- Documentation/libtracefs-synth.txt | 20 +- Documentation/libtracefs-synth2.txt | 10 +- Documentation/libtracefs-utils.txt | 6 +- include/tracefs-local.h | 34 ++ include/tracefs.h | 38 +- src/Makefile | 1 + src/tracefs-dynevents.c | 463 ++++++++++++++++++++++++ src/tracefs-hist.c | 110 +++--- src/tracefs-kprobes.c | 523 +++++++++++++-------------- src/tracefs-sqlhist.c | 6 +- utest/tracefs-utest.c | 414 ++++++++++++--------- 12 files changed, 1169 insertions(+), 591 deletions(-) create mode 100644 src/tracefs-dynevents.c -- 2.31.1