Hi, In the first patchset, my intension was to remove trace_probe_tmpl.h, just keep a unified process_fetch_insn and process_fetch_insn_bottom in trace_probe.c for all *probes. is_uprobe was the most important move to approach. If it was not accepted, the whole patchset couldn't stand. Then I change my goal to at least no warnings or errors when impelenting a new feature based on trace probe if it includes trace_probe_tmpl.h by provideing default behaviors. What's more, it also removes redundant code in kprobe and eprobe. --- v2: 1, mark nokprobe_inline for get_event_field 2, remove warnings reported from kernel test robot 3, fix errors reported from kernel test robot Song Chen (4): kernel/trace: Introduce trace_probe_print_args and use it in *probes kernel/trace: Provide default impelentations defined in trace_probe_tmpl.h include/asm-generic/io.h: remove performing pointer arithmetic on a null pointer kernel/trace: remove calling regs_* when compiling HEXAGON include/asm-generic/io.h | 45 ++++++--- kernel/trace/trace_eprobe.c | 146 +-------------------------- kernel/trace/trace_events_synth.c | 7 +- kernel/trace/trace_kprobe.c | 106 +------------------- kernel/trace/trace_probe.c | 27 +++++ kernel/trace/trace_probe.h | 2 + kernel/trace/trace_probe_kernel.h | 158 ++++++++++++++++++++++++++++-- kernel/trace/trace_probe_tmpl.h | 28 ------ kernel/trace/trace_uprobe.c | 2 +- 9 files changed, 222 insertions(+), 299 deletions(-) -- 2.25.1