Re: [PATCH 0000/2297] [ANNOUNCE, RFC] "Fast Kernel Headers" Tree -v1: Eliminate the Linux kernel's "Dependency Hell"

From: Andy Shevchenko
Date: Tue Jan 04 2022 - 11:07:45 EST


On Sun, Jan 02, 2022 at 10:57:35PM +0100, Ingo Molnar wrote:
>
> I'm pleased to announce the first public version of my new "Fast Kernel
> Headers" project that I've been working on since late 2020, which is a
> comprehensive 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,200 commits, which can be found here:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git master
>
> As most kernel developers know, there's around ~10,000 main .h headers in
> the Linux kernel, in the include/ and arch/*/include/ hierarchies. Over the
> last 30+ years they have grown into a complicated & painful set of
> cross-dependencies we are affectionately calling 'Dependency Hell'.

In the 64e013748e61 ("headers/deps: Optimize <linux/kernel.h>")
the linux/container_of.h and linux/stdarg.h are moved around (in the
linux/kernel.h) without any explanation in the commit message. Is it
necessary? If so, can you add a background note.

--
With Best Regards,
Andy Shevchenko