On Thu, Nov 07, 2019 at 10:51:41PM +0000, Song Liu wrote: > > > > On Nov 6, 2019, at 9:46 PM, Alexei Starovoitov <ast@xxxxxxxxxx> wrote: > > > > Teach libbpf to recognize tracing programs types and attach them to > > fentry/fexit. > > > > Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> > > Acked-by: Song Liu <songliubraving@xxxxxx> > > With nit below: > > > --- > > tools/include/uapi/linux/bpf.h | 2 ++ > > tools/lib/bpf/libbpf.c | 61 +++++++++++++++++++++++++++++----- > > tools/lib/bpf/libbpf.h | 5 +++ > > tools/lib/bpf/libbpf.map | 2 ++ > > 4 files changed, 61 insertions(+), 9 deletions(-) > > > > [...] > > > > > /* Accessors of bpf_program */ > > struct bpf_program; > > @@ -248,6 +251,8 @@ LIBBPF_API struct bpf_link * > > bpf_program__attach_raw_tracepoint(struct bpf_program *prog, > > const char *tp_name); > > > > +LIBBPF_API struct bpf_link * > > +bpf_program__attach_trace(struct bpf_program *prog); > > struct bpf_insn; > > attach_trace is not very clear. I guess we cannot call it > attach_ftrace? Maybe we call it attach_fentry and attach_fexit > (two names pointing to same function)? bpf_program__attach_trace() can attach all BPF_PROG_TYPE_TRACING. Which today are: BPF_TRACE_RAW_TP, BPF_TRACE_FENTRY, BPF_TRACE_FEXIT, There will be more BPF_TRACE_* enum bpf_attach_type in the future. I considered naming it bpf_program__attach_tracing(), but it's uglier and longer.