[PATCH v5 0/4] arch/x86: Remove unnecessary dependencies on bootparam.h

Ard Biesheuvel ardb at kernel.org
Fri Jan 12 17:28:53 UTC 2024


On Fri, 12 Jan 2024 at 10:50, Thomas Zimmermann <tzimmermann at suse.de> wrote:
>
> Reduce build time in some cases by removing unnecessary include statements
> for <asm/bootparam.h>. Reorganize some header files accordingly.
>
> While working on the kernel's boot-up graphics, I noticed that touching
> include/linux/screen_info.h triggers a complete rebuild of the kernel
> on x86. It turns out that the architecture's PCI and EFI headers include
> <asm/bootparam.h>, which depends on <linux/screen_info.h>. But none of
> the drivers have any business with boot parameters or the screen_info
> state.
>
> The patchset moves code from bootparam.h and efi.h into separate header
> files and removes obsolete include statements on x86. I did
>
>   make allmodconfig
>   make -j28
>   touch include/linux/screen_info.h
>   time make -j28
>
> to measure the time it takes to rebuild. Results without the patchset
> are around 20 minutes.
>
>   real    20m46,705s
>   user    354m29,166s
>   sys     28m27,359s
>
> And with the patchset applied it goes down to less than one minute.
>
>   real    0m56,643s
>   user    4m0,661s
>   sys     0m32,956s
>
> The test system is an Intel i5-13500.
>
> v5:
>         * silence clang warnings for real-mode code (Nathan)
>         * revert boot/compressed/misc.h (kernel test robot)
> v4:
>         * fix fwd declaration in compressed/misc.h (Ard)
> v3:
>         * keep setup_header in bootparam.h (Ard)
>         * implement arch_ima_efi_boot_mode() in source file (Ard)
> v2:
>         * only keep struct boot_params in bootparam.h (Ard)
>         * simplify arch_ima_efi_boot_mode define (Ard)
>         * updated cover letter
>
> Thomas Zimmermann (4):
>   arch/x86: Move UAPI setup structures into setup_data.h
>   arch/x86: Move internal setup_data structures into setup_data.h
>   arch/x86: Implement arch_ima_efi_boot_mode() in source file
>   arch/x86: Do not include <asm/bootparam.h> in several files
>

This looks ok to me, thanks for sticking with it.

For the series,

Reviewed-by: Ard Biesheuvel <ardb at kernel.org>



More information about the Linux-security-module-archive mailing list