Re: [tip:sched/core] BUILD SUCCESS 3387ce4d8a5f2956fab827edf499fe6780e83faa

From: Chen, Rong A
Date: Mon Mar 21 2022 - 22:39:51 EST




On 3/22/2022 7:17 AM, Nathan Chancellor wrote:
Hello,

On Tue, Mar 22, 2022 at 06:36:16AM +0800, kernel test robot wrote:
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core
branch HEAD: 3387ce4d8a5f2956fab827edf499fe6780e83faa headers/prep: Fix header to build standalone: <linux/psi.h>

elapsed time: 730m

configs tested: 114
configs skipped: 3

The following configs have been built successfully.
More configs may be tested in the coming days.

gcc tested configs:
...
arm allyesconfig
arm allmodconfig

This caught my eye due to my earlier report:

https://lore.kernel.org/r/YjiddAnoCCz7Tbt3@dev-arch.thelio-3990X/

Are you sure these configurations built sucessfully?


$ git show -s
commit 3387ce4d8a5f2956fab827edf499fe6780e83faa
Author: Ingo Molnar <mingo@xxxxxxxxxx>
Date: Mon Mar 21 11:05:50 2022 +0100

headers/prep: Fix header to build standalone: <linux/psi.h>
Add the <linux/cgroup-defs.h> dependency to <linux/psi.h>, because
cgroup_move_task() will dereference 'struct css_set'.
( Only older toolchains are affected, due to variations in
the implementation of rcu_assign_pointer() et al. )
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Reported-by: Sachin Sant <sachinp@xxxxxxxxxxxxx>
Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Reported-by: Borislav Petkov <bp@xxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>

$ make -skj"$(nproc)" ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- allmodconfig kernel/sched/
In file included from kernel/sched/fair.c:52:
kernel/sched/sched.h:87:11: fatal error: asm/paravirt_api_clock.h: No such file or directory
87 | # include <asm/paravirt_api_clock.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.build:288: kernel/sched/fair.o] Error 1
In file included from kernel/sched/build_utility.c:52:
kernel/sched/sched.h:87:11: fatal error: asm/paravirt_api_clock.h: No such file or directory
87 | # include <asm/paravirt_api_clock.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.build:288: kernel/sched/build_utility.o] Error 1
In file included from kernel/sched/build_policy.c:33:
kernel/sched/sched.h:87:11: fatal error: asm/paravirt_api_clock.h: No such file or directory
87 | # include <asm/paravirt_api_clock.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [scripts/Makefile.build:288: kernel/sched/build_policy.o] Error 1
In file included from kernel/sched/core.c:81:
kernel/sched/sched.h:87:11: fatal error: asm/paravirt_api_clock.h: No such file or directory
87 | # include <asm/paravirt_api_clock.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
...

I am curious to know how this error was not caught by these builds?
Perhaps an old .config from a previous allmodconfig is being reused,
rather than just running "make allmodconfig"? If that is the case, it
seems like that methodology will miss out on new configuration options
over time.

Cheers,
Nathan


Hi Nathan,

Thanks for your reminding, the problem commit is 4ff8f2ca6ccd ("sched/headers: Reorganize, clean up and optimize kernel/sched/sched.h dependencies"),
the bot has sent two build reports related to it:

https://lore.kernel.org/all/202203152116.qphmikIZ-lkp@xxxxxxxxx/
https://lore.kernel.org/all/202203152144.uFQqgVUf-lkp@xxxxxxxxx/

and more reports were stopped to avoid too many noise, like below one:

tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 97add482e9033a9386baa8824fbea34d0cbfe663
commit: 4ff8f2ca6ccd9e0cc5665d09f86d631b3ae3a14c [7191/13392] sched/headers: Reorganize, clean up and optimize kernel/sched/sched.h dependencies
:::::: branch date: 17 hours ago
:::::: commit date: 3 weeks ago
config: arm-randconfig-c002-20220317 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=4ff8f2ca6ccd9e0cc5665d09f86d631b3ae3a14c
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 4ff8f2ca6ccd9e0cc5665d09f86d631b3ae3a14c
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash kernel/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from kernel/sched/core.c:79:
>> kernel/sched/sched.h:87:11: fatal error: asm/paravirt_api_clock.h: No such file or directory
87 | # include <asm/paravirt_api_clock.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.


We'll adjust the strategy avoid blocking some important reports.

Best Regards,
Rong Chen