linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -next v5 0/2] perf stat: Support inherit events for bperf
@ 2024-10-21 11:01 Tengda Wu
  2024-10-21 11:02 ` [PATCH -next v5 1/2] perf stat: Support inherit events during fork() " Tengda Wu
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Tengda Wu @ 2024-10-21 11:01 UTC (permalink / raw)
  To: Peter Zijlstra, song, Namhyung Kim
  Cc: Ingo Molnar, Arnaldo Carvalho de Melo, Mark Rutland,
	Alexander Shishkin, Jiri Olsa, Ian Rogers, Adrian Hunter,
	kan.liang, linux-perf-users, linux-kernel, bpf

Hello,

Here is the 5th version of the series to support inherit events for bperf.
This version added the `inherit` flag for struct `target` instead of
`bpf_stat_opts`, and also fixed the logic when TGID w/o inherit.


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:
---------
v5: (Address comments from Namhyung, thanks)
 * Add the `inherit` flag for struct `target` instead of `bpf_stat_opts`
 * Fix the logic when TGID w/o inherit

v4: https://lore.kernel.org/all/20241012023225.151084-1-wutengda@huaweicloud.com/
 * 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                     |  1 +
 tools/perf/tests/shell/stat_bpf_counters.sh   |  2 +-
 tools/perf/util/bpf_counter.c                 | 35 +++++--
 tools/perf/util/bpf_skel/bperf_follower.bpf.c | 98 +++++++++++++++++--
 tools/perf/util/bpf_skel/bperf_u.h            |  5 +
 tools/perf/util/target.h                      |  1 +
 6 files changed, 127 insertions(+), 15 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-11-05  1:28 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-21 11:01 [PATCH -next v5 0/2] perf stat: Support inherit events for bperf Tengda Wu
2024-10-21 11:02 ` [PATCH -next v5 1/2] perf stat: Support inherit events during fork() " Tengda Wu
2024-10-22  4:08   ` Namhyung Kim
2024-10-22  9:39     ` Tengda Wu
2024-10-23 22:45       ` Namhyung Kim
2024-10-24  2:10         ` Tengda Wu
2024-10-28  6:23           ` Namhyung Kim
2024-10-28  7:50             ` Tengda Wu
2024-10-28 16:30   ` Namhyung Kim
2024-10-21 11:02 ` [PATCH -next v5 2/2] perf test: Use sqrtloop workload to test bperf event Tengda Wu
2024-11-04 17:51 ` [PATCH -next v5 0/2] perf stat: Support inherit events for bperf Namhyung Kim
2024-11-05  1:28   ` Tengda Wu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).