On Thu, Jun 19, 2025 at 8:31 PM Tao Chen <[email protected]> wrote:
>
> 在 2025/6/20 10:59, Alexei Starovoitov 写道:
> > On Thu, Jun 19, 2025 at 7:46 PM Tao Chen <[email protected]> wrote:
> >>
> >> 在 2025/6/20 01:17, Alexei Starovoitov 写道:
> >>> On Wed, Jun 18, 2025 at 8:44 PM Tao Chen <[email protected]> wrote:
> >>>>
> >>>> Show kprobe_multi link info with fdinfo, the info as follows:
> >>>>
> >>>> link_type:      kprobe_multi
> >>>> link_id:        1
> >>>> prog_tag:       a15b7646cb7f3322
> >>>> prog_id:        21
> >>>> type:   kprobe_multi
> >>>
> >>> ..
> >>>
> >>>> +       seq_printf(seq,
> >>>> +                  "type:\t%s\n"
> >>>> +                  "kprobe_cnt:\t%u\n"
> >>>> +                  "missed:\t%lu\n",
> >>>> +                  kmulti_link->flags == BPF_F_KPROBE_MULTI_RETURN ? 
> >>>> "kretprobe_multi" :
> >>>> +                                        "kprobe_multi",
> >>>
> >>> why print the same info twice ?
> >>> seq_printf(m, "link_type:\t%s\n", bpf_link_type_strs[type]);
> >>> in bpf_link_show_fdinfo() already did it in a cleaner way.
> >>>
> >>
> >> link_type only shows 'kprobe_multi', maybe we can show the format like:
> >
> > Ohh. Especially so. It would be wrong and confusing to display:
> > link_type:      kprobe_multi
> > type: kretprobe_multi
> >
> > Let's fix 'link_type' to display it properly.
>
> What do you think show like this:
>
>      link_type:      kprobe_multi
>      link_id:        1
>      prog_tag:       33be53a4fd673e1d
>      prog_id:        21
>      retprobe:       false

It leaks implementation details.
For the kernel the link type is BPF_LINK_TYPE_KPROBE_MULTI for retprobe too,
but show_fdinfo is for humans.
'link_type:' field can be more precise and differentiate
what's effectively a subtype of the link.

Reply via email to