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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

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

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: OpenPGP_signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux