On Tue, Aug 29, 2023 at 05:40:57PM +0100, Quentin Monnet wrote: > On 28/08/2023 08:55, Jiri Olsa wrote: > > Adding 'missed' field to display missed counts for kprobes > > attached by kprobe multi link, like: > > > > # bpftool link > > 5: kprobe_multi prog 76 > > kprobe.multi func_cnt 1 missed 1 > > addr func [module] > > ffffffffa039c030 fp3_test [fprobe_test] > > > > # bpftool link -jp > > [{ > > "id": 5, > > "type": "kprobe_multi", > > "prog_id": 76, > > "retprobe": false, > > "func_cnt": 1, > > "missed": 1, > > "funcs": [{ > > "addr": 18446744072102723632, > > "func": "fp3_test", > > "module": "fprobe_test" > > } > > ] > > } > > ] > > > > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> > > --- > > tools/bpf/bpftool/link.c | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/tools/bpf/bpftool/link.c b/tools/bpf/bpftool/link.c > > index 0b214f6ab5c8..7387e51a5e5c 100644 > > --- a/tools/bpf/bpftool/link.c > > +++ b/tools/bpf/bpftool/link.c > > @@ -265,6 +265,7 @@ show_kprobe_multi_json(struct bpf_link_info *info, json_writer_t *wtr) > > jsonw_bool_field(json_wtr, "retprobe", > > info->kprobe_multi.flags & BPF_F_KPROBE_MULTI_RETURN); > > jsonw_uint_field(json_wtr, "func_cnt", info->kprobe_multi.count); > > + jsonw_uint_field(json_wtr, "missed", info->kprobe_multi.missed); > > jsonw_name(json_wtr, "funcs"); > > jsonw_start_array(json_wtr); > > addrs = u64_to_ptr(info->kprobe_multi.addrs); > > @@ -640,7 +641,9 @@ static void show_kprobe_multi_plain(struct bpf_link_info *info) > > printf("\n\tkretprobe.multi "); > > else > > printf("\n\tkprobe.multi "); > > - printf("func_cnt %u ", info->kprobe_multi.count); > > + printf("func_cnt %u", info->kprobe_multi.count); > > + if (info->kprobe_multi.missed) > > + printf(" missed %llu", info->kprobe_multi.missed); > > Nit: If you respin, please conserve the double space at the beginning of > " missed %llu", to visually help separate from the previous field in > the plain output. right, will fix that > > Looks good otherwise, thanks! > > Reviewed-by: Quentin Monnet <quentin@xxxxxxxxxxxxx> thanks, jirka > > > addrs = (__u64 *)u64_to_ptr(info->kprobe_multi.addrs); > > qsort(addrs, info->kprobe_multi.count, sizeof(__u64), cmp_u64); > > >