Re: [External] Re: [PATCH bpf-next v2 8/9] libbpf: add support for the multi-link of tracing

From: 梦龙董
Date: Mon Mar 11 2024 - 22:44:34 EST


On Tue, Mar 12, 2024 at 9:56 AM Alexei Starovoitov
<alexei.starovoitov@xxxxxxxxx> wrote:
>
> On Mon, Mar 11, 2024 at 2:35 AM Menglong Dong
> <dongmenglong.8@xxxxxxxxxxxxx> wrote:
> >
> >
> > - err = libbpf_find_attach_btf_id(prog, attach_name, &btf_obj_fd, &btf_type_id);
> > + name_end = strchr(attach_name, ',');
> > + /* for multi-link tracing, use the first target symbol during
> > + * loading.
> > + */
> > + if ((def & SEC_ATTACH_BTF_MULTI) && name_end) {
> > + int len = name_end - attach_name + 1;
> > + char *first_tgt;
> > +
> > + first_tgt = malloc(len);
> > + if (!first_tgt)
> > + return -ENOMEM;
> > + strncpy(first_tgt, attach_name, len);
> > + first_tgt[len - 1] = '\0';
> > + err = libbpf_find_attach_btf_id(prog, first_tgt, &btf_obj_fd,
> > + &btf_type_id);
> > + free(first_tgt);
> > + } else {
> > + err = libbpf_find_attach_btf_id(prog, attach_name, &btf_obj_fd,
> > + &btf_type_id);
> > + }
>
> Pls use glob_match the way [ku]probe multi are doing
> instead of exact match.

Hello,

I'm a little suspecting the effect of glob_match. I seldom found
the use case that the kernel functions which we want to trace
have the same naming pattern. And the exact match seems more
useful.

Can we use both exact and glob match here?

Thanks!
Menglong Dong