[linux-next:master] [perf tests] 1572ba36fb: perf-sanity-tests.perf.make.fail

From: kernel test robot

Date: Thu Sep 17 2026 - 23:27:40 EST



Hello,

kernel test robot noticed "perf-sanity-tests.perf.make.fail" on:

commit: 1572ba36fbca95835dc17b35a70c4524301205c6 ("perf tests: Improvements to build-test performance") https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master

[test failed on linux-next/master 0d9d0dbf2fddcff5859d623e90ca73c4054276e1]

in testcase: perf-sanity-tests
with following parameters:

perf_compiler: clang
group: group-00

config: x86_64-rhel-9.4-bpf
compiler: gcc-14
test machine: 10 threads 1 sockets Intel(R) Core Ultra Series 3 @ 3.20GHz (Panther Lake) with 32G memory

If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <yi1.lai@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-lkp/202609180536.c80fabf6-lkp@xxxxxxxxx


make PERF failed:
Makefile.config:1046: No babeltrace2 found, disables 'perf data' CTF format support, please install libbabeltrace2-dev[el]
Makefile.config:1136: Rust is not found. Test workloads with rust are disabled.
PERF_VERSION = 7.3.0-rc2
util/demangle-cxx.cpp:5:10: fatal error: linux/compiler.h: No such file or directory
5 | #include <linux/compiler.h>
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-1572ba36fbca95835dc17b35a70c4524301205c6/tools/build/Makefile.build:100: util/demangle-cxx.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [/usr/src/perf_selftests-x86_64-rhel-9.4-bpf-1572ba36fbca95835dc17b35a70c4524301205c6/tools/build/Makefile.build:158: util] Error 2
make[2]: *** [Makefile.perf:574: perf-util-in.o] Error 2
make[1]: *** [Makefile.perf:286: sub-make] Error 2
make: *** [Makefile:82: all] Error 2

Root cause analysis assisted by LLM:

Commit 1572ba36fbca ("perf tests: Improvements to build-test
performance") made tools/perf/Makefile and tools/perf/tests/make skip
computing PARALLEL_OPT/-j$(JOBS) entirely whenever MAKEFLAGS contains
the substrings "-j" or "jobserver", on the assumption that this means
a live GNU Make jobserver is available and should be trusted.

This assumption doesn't always hold: MAKEFLAGS can be set as a plain
environment variable by outer packaging tooling (rpmbuild/mock's
%make_build, %_smp_mflags, etc.) without a live jobserver pipe backing
it. When that happens, PARALLEL_OPT is silently left unset, and worse,
the documented 'make JOBS=1' override -- which the comment explicitly
promises still works -- is ignored too, because the JOBS handling is
nested *inside* the same detection gate. This can result in mismatched
parallelism between nested sub-makes and build failures such as:

util/demangle-cxx.cpp:5:10: fatal error: linux/compiler.h: No such file or directory

The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260918/202609180536.c80fabf6-lkp@xxxxxxxxx

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki