[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMj1kXGxNTvCca+9TfUfvp06ppyD9XiyO59khYXg88VkyFm1rw@mail.gmail.com>
Date: Fri, 12 Jan 2024 18:28:53 +0100
From: Ard Biesheuvel <ardb@...nel.org>
To: Thomas Zimmermann <tzimmermann@...e.de>
Cc: nathan@...nel.org, tglx@...utronix.de, mingo@...hat.com, bp@...en8.de,
dave.hansen@...ux.intel.com, x86@...nel.org, hpa@...or.com,
bhelgaas@...gle.com, arnd@...db.de, zohar@...ux.ibm.com,
dmitry.kasatkin@...il.com, paul@...l-moore.com, jmorris@...ei.org,
serge@...lyn.com, javierm@...hat.com, linux-arch@...r.kernel.org,
linux-efi@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org, linux-integrity@...r.kernel.org,
linux-security-module@...r.kernel.org
Subject: Re: [PATCH v5 0/4] arch/x86: Remove unnecessary dependencies on bootparam.h
On Fri, 12 Jan 2024 at 10:50, Thomas Zimmermann <tzimmermann@...e.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@...nel.org>
Powered by blists - more mailing lists