Re: [TREE] "Fast Kernel Headers" Tree -v3

From: Kari Argillander
Date: Tue Mar 22 2022 - 03:59:23 EST


15.3.2022 12.35 Ingo Molnar (mingo@xxxxxxxxxx) wrote:
>
> This is -v3 of the "Fast Kernel Headers" tree, which is an ongoing rework
> of the Linux kernel's header hierarchy & header dependencies, with the dual
> goals of:
>
> - speeding up the kernel build (both absolute and incremental build times)
>
> - decoupling subsystem type & API definitions from each other
>
> The fast-headers tree consists of over 25 sub-trees internally, spanning
> over 2,300 commits, which can be found at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git master

I have had problems to build master branch (defconfig) with gcc9
gcc (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0

I did also test v2 and problems where there too. I have no problem with gcc10 or
Clang11. Error I get is:

In file included from ./include/linux/rcuwait_api.h:7,
from ./include/linux/rcuwait.h:6,
from ./include/linux/irq_work.h:7,
from ./include/linux/perf_event_types.h:44,
from ./include/linux/perf_event_api.h:17,
from arch/x86/kernel/kprobes/opt.c:8:
./include/linux/rcuwait_api.h: In function ‘rcuwait_active’:
./include/linux/rcupdate.h:328:9: error: dereferencing pointer to
incomplete type ‘struct task_struct’
328 | typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
| ^
./include/linux/rcupdate.h:439:31: note: in expansion of macro
‘__rcu_access_pointer’
439 | #define rcu_access_pointer(p) __rcu_access_pointer((p),
__UNIQUE_ID(rcu), __rcu)
| ^~~~~~~~~~~~~~~~~~~~
./include/linux/rcuwait_api.h:15:11: note: in expansion of macro
‘rcu_access_pointer’
15 | return !!rcu_access_pointer(w->task);

Argillander

> There's various changes in -v3, and it's now ported to the latest kernel
> (v5.17-rc8).
>
> Diffstat difference:
>
> -v2: 25332 files changed, 178498 insertions(+), 74790 deletions(-)
> -v3: 25513 files changed, 180947 insertions(+), 74572 deletions(-)
>
> Thanks,
>
> Ingo