Re: [tools/perf] perf test LLVM failure on 4.9

From: Pintu Kumar
Date: Wed Jan 24 2018 - 09:53:13 EST


Hi,

Thanks for your help.
Yes it was a sub version issue.

Earlier, while building the kernel I left the SUBLEVEL as blank.

make -j8 bindeb-pkg SUBLEVEL=20

After passing the correct sublevel now the test is working.

But still following are failing:

16: Try 'import perf' in python, checking link problems : FAILED!
37.2: Test BPF prologue generation : FAILED!


This is the error I get:

16: Try 'import perf' in python, checking link problems :
--- start ---
test child forked, pid 7637
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named perf
test child finished with -1
---- end ----
Try 'import perf' in python, checking link problems: FAILED!


Looking at the vmlinux_path (8 entries long)
symsrc__init: cannot get elf header.
Failed to find the path for kernel: Invalid ELF file
bpf_probe: failed to convert perf probe eventsFailed to add events
selected by BPF
test child finished with -1
---- end ----
Test BPF filter subtest 1: FAILED!



Thanks,
Pintu


On Wed, Jan 24, 2018 at 6:39 AM, Wangnan (F) <wangnan0@xxxxxxxxxx> wrote:
>
>
> On 2018/1/23 20:37, Pintu Kumar wrote:
>>
>> Hi All,
>>
>> I am verifying all perf tests on Ubuntu-16 x86-64 platform using the
>> kernel version 4.9.20.
>> I have installed several others packages including: clang, llvm
>>
>> But, when I run 'perf test' I get some FAILURE.
>> Specially, 'perf test LLVM' is failing.
>>
>> Please check the below error logs:
>>
>> ----------------------------------------------------
>> # perf test LLVM
>> 35: Test LLVM searching and compiling :
>> 35.1: Basic BPF llvm compiling test : FAILED!
>> 35.2: Test kbuild searching : Skip
>> 35.3: Compile source for BPF prologue generation test : Skip
>> 35.4: Compile source for BPF relocation test : Skip
>> ----------------------------------------------------
>>
>> When I run with -v I get this:
>>
>> -----------------------------------------------------
>> # perf test -v LLVM
>> 35: Test LLVM searching and compiling :
>> 35.1: Basic BPF llvm compiling test :
>> --- start ---
>> test child forked, pid 3304
>> Unablt to get kernel version from uname '4.9-xxxx-amd-x86-64'
>> WARNING: unable to get correct kernel building directory.
>> Hint: Set correct kbuild directory using 'kbuild-dir' option in [llvm]
>> section of ~/.perfconfig or set it to "" to suppress kbuild
>> detection.
>>
>> Unablt to get kernel version from uname '4.9-xxxx-amd-x86-64'
>>
>>
>> int _version SEC("version") = LINUX_VERSION_CODE;
>> ' | $CLANG_EXEC -D__KERNEL__ -D__NR_CPUS__=$NR_CPUS
>> -DLINUX_VERSION_CODE=$LINUX_VERSION_CODE $CLANG_OPTIONS
>> $KERNEL_INC_OPTIONS -Wno-unused-value -Wno-pointer-sign
>> -working-directory $WORKING_DIR -c "$CLANG_SOURCE" -target bpf -O2 -o
>> -
>> libbpf: 2129190-4a0 doesn't provide kernel version
>> Failed to parse test case 'Basic BPF llvm compiling test'
>> test child finished with -1
>> ---- end ----
>> Test LLVM searching and compiling subtest 0: FAILED!
>> -----------------------------------------------------
>>
>>
>> Basic BPF LLVM compiling test is failing.
>> It reports that bpf could not able to read the kernel version from uname.
>> Is it because of this that 'perf test LLVM' is failing ?
>>
>> My uname says:
>> 4.9-xxxx-amd-x86-64
>
>
> 'perf test LLVM' requires a well formed uname string (%d.%d.%d). Please see
> tools/perf/fetch_kernel_version . If your distro uses another method to
> report
> kernel version number (from your uname string, sublevel can't be
> determined),
> please help us improve that function like what we have done for ubuntu
> (checking /proc/version_signature).
>
>
>
>> My kernel version is: 4.9.20 (from Makefile)
>>
>> So, I dont think there is any problem with kernel version.
>>
>> If any body have come across this problem please let me know how to
>> resolve this issue.
>>
>>
>>
>> Thank You!
>>
>> Regards,
>> Pintu
>
>
>