This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
gsoc:2022-gsoc-perf [2022/02/07 07:28] irogers |
gsoc:2022-gsoc-perf [2022/04/05 20:41] (current) irogers |
||
---|---|---|---|
Line 2: | Line 2: | ||
Google Summer of Code Project ideas for perf, the Linux profiling subsystem. | Google Summer of Code Project ideas for perf, the Linux profiling subsystem. | ||
+ | |||
+ | [[gsoc:google-summer-code-2022|(Main Linux foundation GSoC 2022 page)]] | ||
===== What is perf? ===== | ===== What is perf? ===== | ||
Line 23: | Line 25: | ||
Wiki: [[https://perf.wiki.kernel.org/index.php/Main_Page|https://perf.wiki.kernel.org/]] | Wiki: [[https://perf.wiki.kernel.org/index.php/Main_Page|https://perf.wiki.kernel.org/]] | ||
- | Mentor contacts: [[https://sites.google.com/site/rogersemail/home|Ian Rogers]] <irogers+gsoc21 at google dot com>, Namhyung Kim <namhyung at kernel.org> | + | Mentor contacts: [[https://sites.google.com/site/rogersemail/home|Ian Rogers]] <irogers+gsoc22 at google dot com>, Namhyung Kim <namhyung at kernel.org> |
===== Project Proposals ===== | ===== Project Proposals ===== | ||
Line 32: | Line 34: | ||
==== User Interface ==== | ==== User Interface ==== | ||
+ | |||
+ | === Improved perf trace === | ||
+ | |||
+ | ''perf trace'' provides an strace like ability using perf APIs. By avoiding ptrace APIs, ''perf trace'' can even trace itself. The filename for an open system call is fairly boring encoded as a pointer. To get the actual filename the program is sending to the kernel requires information not captured in a perf event, and so libaudit is currently used. Libaudit adds code in the kernel on a number of system calls but not all - for example, there is no libaudit on the perf_event_open system call. A different technique for intercepting system calls and sending information to user land is BPF. This project will look to add a variant to ''perf trace'' where instead of getting filenames for system calls using libaudit, it will do so with BPF programs that perf can install in the kernel when the program starts up. The large number of system calls means this is a large challenge. | ||
=== Interactive perf report === | === Interactive perf report === |