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

From: Kari Argillander
Date: Tue Mar 22 2022 - 12:22:46 EST


22.03.2022 17.37 Randy Dunlap (rdunlap@xxxxxxxxxxxxx) wrote:
>
> Hi Kari,
>
> On 3/22/22 00:59, Kari Argillander wrote:
> > 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
>
> You could try the patch here:
> https://lore.kernel.org/all/917e9ce0-c8cf-61b2-d1ba-ebf25bbd979d@xxxxxxxxxxxxx/

I have to edit it to <linux/cgroup_types.h> as there is no <linux/cgroup-defs.h>
with fast headers. I also tried a couple other things but it didn't
seem to make a
difference.

> although the build error that it fixes doesn't look exactly the same
> as yours.

Quite close still. Maybe I should try to bisect this and I will also
see how bisectable
this branch is.

> >> 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(-)
>
>
> --
> ~Randy