[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241012023225.151084-1-wutengda@huaweicloud.com>
Date: Sat, 12 Oct 2024 02:32:23 +0000
From: Tengda Wu <wutengda@...weicloud.com>
To: Peter Zijlstra <peterz@...radead.org>,
song@...nel.org,
Namhyung Kim <namhyung@...nel.org>
Cc: Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
kan.liang@...ux.intel.com,
linux-perf-users@...r.kernel.org,
linux-kernel@...r.kernel.org,
bpf@...r.kernel.org
Subject: [PATCH -next v4 0/2] perf stat: Support inherit events for bperf
Hi,
Here is the 4th version of the series to support inherit events for bperf.
This version adds an `inherit` flag to bperf to control inherit behavior.
Considering future scalability, wrap the `inherit` flag with a new struct
`bpf_stat_opts` before passing it to bpf_counter__load().
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:
---------
v4: (Address comments from Song and Namhyung, thanks)
* Add an `inherit` flag to bperf to control inherit behavior
v3: https://lore.kernel.org/all/20240916014318.267709-1-wutengda@huaweicloud.com/
* 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@huaweicloud.com/
* 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@huaweicloud.com/
Tengda Wu (2):
perf stat: Support inherit events during fork() for bperf
perf test: Use sqrtloop workload to test bperf event
tools/perf/builtin-stat.c | 4 +-
tools/perf/tests/shell/stat_bpf_counters.sh | 2 +-
tools/perf/util/bpf_counter.c | 57 +++++++++---
tools/perf/util/bpf_counter.h | 13 ++-
tools/perf/util/bpf_counter_cgroup.c | 3 +-
tools/perf/util/bpf_skel/bperf_follower.bpf.c | 87 +++++++++++++++++--
tools/perf/util/bpf_skel/bperf_u.h | 5 ++
7 files changed, 146 insertions(+), 25 deletions(-)
--
2.34.1
Powered by blists - more mailing lists