[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAH0uvohVui=31tMSD=J-qshtsKHg2__4c7XEQWWXa6Ycf0Umaw@mail.gmail.com>
Date: Wed, 28 Aug 2024 01:25:30 +0800
From: Howard Chu <howardchu95@...il.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>, Ian Rogers <irogers@...gle.com>,
Namhyung Kim <namhyung@...nel.org>, linux-perf-users <linux-perf-users@...r.kernel.org>,
Adrian Hunter <adrian.hunter@...el.com>, Jiri Olsa <jolsa@...nel.org>,
Kan Liang <kan.liang@...ux.intel.com>, linux-kernel@...r.kernel.org
Subject: [GSoC] perf trace and BTF: Final Report
Hello everyone,
This is the final report for my project "perf trace and BTF".
This project aims to enhance perf trace by utilizing BTF (BPF Type
Format) information from the Linux kernel to collect and pretty-print
system call arguments more effectively. This includes data collection
and pretty printing of struct pointers, buffers, strings, and enum
arguments, which we refer to as syscall augmentation.
I have completed the goals mentioned above during the GSoC period, and
test scripts have been created to validate the new features.
Currently, the patch series for struct, buffer, and string pointers
augmentation is at v3 and under review.
One of my mentors, Arnaldo, wants to convert the integer flags to a
detached BTF object, which is what I’ll be working on after the GSoC
period. Additionally, I will focus on landing the perf record
--off-cpu patch series, incorporating feedback from my mentors Ian and
Namhyung on off-cpu v4.
I would like to express my thanks to my mentors Arnaldo Carvalho de
Melo, Ian Rogers, and Namhyung Kim. Their important guidance and
feedback have been invaluable to my work. I am grateful to acme for
making excellent revisions to my code, to Ian Rogers for organizing
weekly meetings and offering professional advice, and to Namhyung Kim
for his crucial insights into key issues and bugs.
Thank you,
Howard
---
Patches sent:
[PATCH v1 0/2] perf trace: Better -p support
[PATCH v1 1/2] perf trace: Collect data only for certain pids
[PATCH v1 2/2] perf trace: Use pid to index perf_event in BPF
Link: https://lore.kernel.org/linux-perf-users/20240827092013.1596-1-howardchu95@gmail.com/
perf trace: Enhanced augmentation for pointer arguments
[PATCH v3 1/8] perf trace: Fix perf trace -p <PID>
[PATCH v3 2/8] perf trace: Add trace__bpf_sys_enter_beauty_map() to
prepare for fetching data in BPF
[PATCH v3 3/8] perf trace: Pass the richer 'struct syscall_arg'
pointer to trace__btf_scnprintf()
[PATCH v3 4/8] perf trace: Pretty print struct data
[PATCH v3 5/8] perf trace: Pretty print buffer data
[PATCH v3 6/8] perf trace: Collect augmented data using BPF
[PATCH v3 7/8] perf trace: Add --force-btf for debugging
[PATCH v3 8/8] perf trace: Add general tests for augmented syscalls
Link: https://lore.kernel.org/linux-perf-users/20240824163322.60796-1-howardchu95@gmail.com/
perf record --off-cpu: Dump off-cpu samples directly
[PATCH v4 1/9] perf evsel: Set BPF output to system-wide
[PATCH v4 2/9] perf record --off-cpu: Add --off-cpu-thresh
[PATCH v4 3/9] perf record --off-cpu: Parse offcpu-time event
[PATCH v4 4/9] perf record off-cpu: Dump direct off-cpu samples in BPF
[PATCH v4 5/9] perf record --off-cpu: Dump total off-cpu time at the end
[PATCH v4 6/9] perf evsel: Delete unnecessary = 0
[PATCH v4 7/9] perf record --off-cpu: Parse BPF output embedded data
[PATCH v4 8/9] perf header: Add field 'embed'
[PATCH v4 9/9] perf test: Add direct off-cpu dumping test
Link: https://lore.kernel.org/linux-perf-users/20240807153843.3231451-1-howardchu95@gmail.com/
Patches merged:
[PATCH v5 0/8] perf trace: Augment enum arguments with BTF
[PATCH v5 1/8] perf trace: Fix iteration of syscall ids in syscalltbl->entries
[PATCH v5 2/8] perf trace: BTF-based enum pretty printing for syscall args
[PATCH v5 3/8] perf trace: Augment non-syscall tracepoints with enum
arguments with BTF
[PATCH v5 4/8] perf trace: Filter enum arguments with enum names
[PATCH v5 5/8] perf test: Add landlock workload
[PATCH v5 6/8] perf test trace_btf_enum: Add regression test for the
BTF augmentation of enums in 'perf trace'
[PATCH v5 7/8] perf trace: Introduce trace__btf_scnprintf()
[PATCH v5 8/8] perf trace: Remove arg_fmt->is_enum, we can get that
from the BTF type
Link: https://lore.kernel.org/linux-perf-users/20240705132059.853205-1-howardchu95@gmail.com/
[PATCH] perf record: Fix comment misspellings
Link: https://lore.kernel.org/linux-perf-users/20240425060427.1800663-1-howardchu95@gmail.com/
Blog posts:
perf trace: Add support for enum arguments
Link: https://sberm.cn/blog/perf-trace-enum
How to contribute to perf
Link: https://sberm.cn/blog/how-to-contrib-perf
Powered by blists - more mailing lists