Re: [PATCH -next v3 0/2] perf stat: Support inherit events for bperf

From: Namhyung Kim
Date: Wed Sep 25 2024 - 23:44:04 EST


Hello,

On Wed, Sep 25, 2024 at 10:16:16PM +0800, Tengda Wu wrote:
> Hello,
>
> Sorry for pinging again. Is there any other suggestion with this patch set?
> If there is, please let me know.

Sorry I was traveling last week. I think it's good now.

Song, can I get your ack?

Thanks,
Namhyung

>
> On 2024/9/16 9:43, Tengda Wu wrote:
> > Hi,
> >
> > Here is the 3th version of the series to support inherit events for bperf.
> > This version add pid or tgid selection based on filter type in new_task
> > prog to avoid memory waste and potential count loss.
> >
> >
> > bperf (perf-stat --bpf-counter) has not supported inherit events
> > during fork() since it was first introduced.
> >
> > This patch series tries to add this support by:
> > 1) adding two new bpf programs to monitor task lifecycle;
> > 2) recording new tasks in the filter map dynamically;
> > 3) reusing `accum_key` of parent task for new tasks.
> >
> > Thanks,
> > Tengda
> >
> >
> > Changelog:
> > ---------
> > v3: (Address comments from Namhyung, thanks)
> > * Use pid or tgid based on filter type in new_task prog
> > * Add comments to explain pid usage for TGID type in exit_task prog
> >
> > v2: https://lore.kernel.org/all/20240905115918.772234-1-wutengda@xxxxxxxxxxxxxxx/
> > * Remove the unused init_filter_entries in follower bpf, declare
> > a global filter_entry_count in bpf_counter instead
> > * Attach on_newtask and on_exittask progs only if the filter type
> > is either PID or TGID
> >
> > v1: https://lore.kernel.org/all/20240904123103.732507-1-wutengda@xxxxxxxxxxxxxxx/
> >
> >
> > Tengda Wu (2):
> > perf stat: Support inherit events during fork() for bperf
> > perf test: Use sqrtloop workload to test bperf event
> >
> > tools/perf/tests/shell/stat_bpf_counters.sh | 2 +-
> > tools/perf/util/bpf_counter.c | 32 +++++--
> > tools/perf/util/bpf_skel/bperf_follower.bpf.c | 87 +++++++++++++++++--
> > tools/perf/util/bpf_skel/bperf_u.h | 5 ++
> > 4 files changed, 112 insertions(+), 14 deletions(-)
> >
>