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
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to