On Mon, May 05, 2025 at 01:09:31PM +0200, Ingo Molnar wrote:
> Historically the x86 defconfigs aimed to be distro kernel
> work-alikes with fewer drivers and a substantially shorter
> build time. We regularly ask our contributors to test their
> changes on x86 defconfigs, and we frequently analyze code
> generation on such kernels as well.
>
> In practice, over the past couple of years this goal has
> diverged from what actual modern Linux distributions do
> these days, and this series aims to correct that divergence.
>
> Perform a thorough modernization of the x86 defconfigs, and
> apply some cleanups to the x86 build system as well:
>
> - Enable various kernel features that the most popular
> Linux distributions have enabled in their generic
> kernels these days: KVM host, BPF support, UBSAN, various MM
> options, debugging options, various scheduler and cgroups
> options, support for a number of guest OS platforms,
> and other options.
>
> - More specifically, these changes enable a rough superset
> of the kernel features enabled by Ubuntu, Fedora/RHEL
> kernels.
>
> - Clean up the organization of the defconfig files as well.
>
> - Add the ARCH=x86_32 build target
>
> - Synchronize the x86_32 defconfig to the x86_64 defconfig:
> this file is really just a random set of options configured
> many years ago with no relevance to anything people are
> using today anymore. Just follow the 64-bit options to the
> extent possible, to have at least one modern frame of
> reference.
>
> - Clean up a number of kbuild details
One thing I'd been pondering for a while, but have absolutely no
bandwidth for what so ever, is a more fragment based config setup.
Much like we now have defconfig, kvm_guest.config, debug.config
and xen.config etc..
My main 'complain' is more that defconfig is too fat already, and here
you are making it fatter still -- notably, I don't need i915 in most of
the kernels I build (my test machines are all headless).
Could we not instead move things out into fragments, so that people can
compose the bits they need?
The other day, I was looking for a kvm_host.config fragment, to pair with
the kvm_guest.config we do have.
Similarly, all that UBSAN, MM and assorted debug cruft is already in
debug.config (although I do think debug.config is *too* heavy).