[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <49fe18ff-827a-429b-9d74-9d8ed02ac409@linaro.org>
Date: Fri, 13 Sep 2024 11:20:32 +0100
From: James Clark <james.clark@...aro.org>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Howard Chu <howardchu95@...il.com>, Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
Alan Maguire <alan.maguire@...cle.com>, Jiri Olsa <jolsa@...nel.org>,
Kan Liang <kan.liang@...ux.intel.com>, Namhyung Kim <namhyung@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-perf-users@...r.kernel.org
Subject: Re: [PATCH 1/1] perf build: Require at least clang 16.0.6 to build
BPF skeletons
On 12/09/2024 15:50, Arnaldo Carvalho de Melo wrote:
> On Thu, Sep 12, 2024 at 03:40:32PM +0100, James Clark wrote:
>> On 11/09/2024 13:24, Arnaldo Carvalho de Melo wrote:
>>> Howard reported problems using perf features that use BPF:
>
>>> perf $ clang -v
>>> Debian clang version 15.0.6
>>> Target: x86_64-pc-linux-gnu
>>> Thread model: posix
>>> InstalledDir: /bin
>>> Found candidate GCC installation: /bin/../lib/gcc/x86_64-linux-gnu/12
>>> Selected GCC installation: /bin/../lib/gcc/x86_64-linux-gnu/12
>>> Candidate multilib: .;@m64
>>> Selected multilib: .;@m64
>>> perf $ ./perf trace -e write --max-events=1
>>> libbpf: prog 'sys_enter_rename': BPF program load failed: Permission denied
>>> libbpf: prog 'sys_enter_rename': -- BEGIN PROG LOAD LOG --
>>> 0: R1=ctx() R10=fp0
>>>
>>> But it works with:
>>>
>>> perf $ clang -v
>>> Debian clang version 16.0.6 (15~deb12u1)
>>> Target: x86_64-pc-linux-gnu
>>> Thread model: posix
>>> InstalledDir: /bin
>>> Found candidate GCC installation: /bin/../lib/gcc/x86_64-linux-gnu/12
>>> Selected GCC installation: /bin/../lib/gcc/x86_64-linux-gnu/12
>>> Candidate multilib: .;@m64
>>> Selected multilib: .;@m64
>>> perf $ ./perf trace -e write --max-events=1
>>> 0.000 ( 0.009 ms): gmain/1448 write(fd: 4, buf: \1\0\0\0\0\0\0\0, count: 8) = 8 (kworker/0:0-eve)
>>> perf $
>>>
>>> So lets make that the required version, if you happen to have a slightly
>>> older version where this work, please report so that we can adjust the
>>> minimum required version.
>
>> I wasn't able to reproduce the issue with either of these versions. But I
>> suppose it could be an issue with only 15.0.6.
>
> Interesting, that complicates things, probably the best way then is to
> try to build it, if it fails, mention that 15.0.6 is known to be
> problematic and suggest working versions?
>
> - Arnaldo
I still wasn't able to reproduce it with 15.0.6. And I double checked
with V=1 that the build was using the right clang. I suppose it could be
a build configuration issue, or maybe with a different kernel version?
$ uname --kernel-release
6.8.0-76060800daily20240311-generic
$ ../../llvm-project/build/bin/clang -v
clang version 15.0.6 (https://github.com/llvm/llvm-project.git
088f33605d8a61ff519c580a71b1dd57d16a03f8)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/james/workspace/linux/linux/../../llvm-project/build/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12
Candidate multilib: .;@m64
Selected multilib: .;@m64
$ git log
commit 003265bb6f028d7bcd7cbd92d6ba2b4e26382796
(perf-tools-next/perf-tools-next)
$ make O=../build/local/ CLANG=../../llvm-project/build/bin/clang -C \
tools/perf
$ perf trace -e write --max-events=1
0.000 ( 0.026 ms): gnome-shell/5454 write(fd: 5, buf:
0x7fffa102d9b0, count: 8) = 8
Powered by blists - more mailing lists