[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Ztkv_QD758uFckvW@google.com>
Date: Wed, 4 Sep 2024 21:13:49 -0700
From: Namhyung Kim <namhyung@...nel.org>
To: Howard Chu <howardchu95@...il.com>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>,
Ian Rogers <irogers@...gle.com>,
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: Re: [GSoC] perf trace and BTF: Final Report
On Wed, Aug 28, 2024 at 01:25:30AM +0800, Howard Chu wrote:
> 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
Thanks for your great work, Howard! I'm looking forward to working
with you even after GSoC!
Thanks,
Namhyung
> ---
>
> 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