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

Thomas Zimmermann
2024-01-15T07:58:54Z

[-- Attachment #1.1: Type: text/plain, Size: 2579 bytes --]

Hi

Am 12.01.24 um 18:28 schrieb Ard Biesheuvel:
> On Fri, 12 Jan 2024 at 10:50, Thomas Zimmermann <tzimmermann@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@kernel.org>

Thank you so much. Can this series go through the x86 tree?

Best regards
Thomas

--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]