Public bug reported:
[Impact]
perf trace can work with BPF code and is able to use clang to build C code to
do it. Currently, it won't be able to build them as it requires some include
files that it looks at /usr/lib/perf/include/bpf/.
As this path is not dependent on the kernel version, shipping the latest
code would make sense as long as headers are backwards compatible.
Example code could be packaged on a versioned directory in a versioned
package.
[Test case]
$ sudo perf trace -e
open,openat,/usr/lib/perf/examples/bpf/augmented_raw_syscalls.c cat /etc/passwd
> /dev/null
0.000 ( 0.027 ms): cat/2256 openat(dfd: CWD, filename: "/etc/ld.so.cache",
flags: RDONLY|CLOEXEC) = 3
0.058 ( 0.009 ms): cat/2256 openat(dfd: CWD, filename:
"/lib/s390x-linux-gnu/libc.so.6", flags: RDONLY|CLOEXEC) = 3
0.307 ( 0.004 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/locale-archive", flags: RDONLY|CLOEXEC) = 3
0.326 ( 0.007 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/share/locale/locale.alias", flags: RDONLY|CLOEXEC) = 3
0.361 ( 0.005 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_IDENTIFICATION", flags: RDONLY|CLOEXEC) = 3
0.373 ( 0.004 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/s390x-linux-gnu/gconv/gconv-modules.cache") = 3
0.389 ( 0.004 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_MEASUREMENT", flags: RDONLY|CLOEXEC) = 3
0.403 ( 0.003 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_TELEPHONE", flags: RDONLY|CLOEXEC) = 3
0.415 ( 0.004 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_ADDRESS", flags: RDONLY|CLOEXEC) = 3
0.428 ( 0.004 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_NAME", flags: RDONLY|CLOEXEC) = 3
0.440 ( 0.004 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_PAPER", flags: RDONLY|CLOEXEC) = 3
0.456 ( 0.003 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_MESSAGES", flags: RDONLY|CLOEXEC) = 3
0.464 ( 0.003 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES", flags: RDONLY|CLOEXEC) =
3
0.475 ( 0.004 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_MONETARY", flags: RDONLY|CLOEXEC) = 3
0.489 ( 0.003 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_COLLATE", flags: RDONLY|CLOEXEC) = 3
0.511 ( 0.004 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_TIME", flags: RDONLY|CLOEXEC) = 3
0.525 ( 0.003 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_NUMERIC", flags: RDONLY|CLOEXEC) = 3
0.536 ( 0.004 ms): cat/2256 openat(dfd: CWD, filename:
"/usr/lib/locale/C.UTF-8/LC_CTYPE", flags: RDONLY|CLOEXEC) = 3
0.565 ( 0.003 ms): cat/2256 openat(dfd: CWD, filename: "/etc/passwd")
= 3
[Potential regression]
We might ship incompatible code with the running kernel. It might break
building such examples.
Or we might break the old contens of the packages we are adding files to.
** Affects: linux (Ubuntu)
Importance: Low
Assignee: Thadeu Lima de Souza Cascardo (cascardo)
Status: In Progress
** Affects: linux (Ubuntu Focal)
Importance: Undecided
Status: New
** Affects: linux (Ubuntu Groovy)
Importance: Low
Assignee: Thadeu Lima de Souza Cascardo (cascardo)
Status: In Progress
** Also affects: linux (Ubuntu Groovy)
Importance: Undecided
Status: New
** Also affects: linux (Ubuntu Focal)
Importance: Undecided
Status: New
** Changed in: linux (Ubuntu Groovy)
Status: New => In Progress
** Changed in: linux (Ubuntu Groovy)
Assignee: (unassigned) => Thadeu Lima de Souza Cascardo (cascardo)
** Changed in: linux (Ubuntu Groovy)
Importance: Undecided => Low
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1892411
Title:
Package perf-trace examples and include files
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1892411/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs