[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231206125433.18420-1-tzimmermann@suse.de>
Date: Wed, 6 Dec 2023 13:38:36 +0100
From: Thomas Zimmermann <tzimmermann@...e.de>
To: ardb@...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
Cc: 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,
Thomas Zimmermann <tzimmermann@...e.de>
Subject: [PATCH 0/3] arch/x86: Remove unnecessary dependencies on bootparam.h
Reduce built 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 rebuilt 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 a few limes from pci.h and efi.h into separate header
files and then removes the obsolete include statements on x86. I did
make allmodconfig
make -j28
touch include/linus/screen_info.h
time -j28 make
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 about a minute.
real 0m58,232s
user 4m37,617s
sys 0m34,993s
The test system was an Intel i5-13500.
Thomas Zimmermann (3):
arch/x86: Move struct pci_setup_rom into pci_setup.h
arch/x86: Add <asm/ima-efi.h> for arch_ima_efi_boot_mode
arch/x86: Do not include <asm/bootparam.h> in several header files
arch/x86/include/asm/efi.h | 3 ---
arch/x86/include/asm/ima-efi.h | 12 ++++++++++++
arch/x86/include/asm/kexec.h | 1 -
arch/x86/include/asm/mem_encrypt.h | 2 +-
arch/x86/include/asm/pci.h | 13 -------------
arch/x86/include/asm/pci_setup.h | 19 +++++++++++++++++++
arch/x86/include/asm/sev.h | 3 ++-
arch/x86/include/asm/x86_init.h | 2 --
arch/x86/pci/common.c | 1 +
drivers/firmware/efi/libstub/x86-stub.c | 1 +
include/asm-generic/Kbuild | 1 +
include/asm-generic/ima-efi.h | 16 ++++++++++++++++
security/integrity/ima/ima_efi.c | 5 +----
13 files changed, 54 insertions(+), 25 deletions(-)
create mode 100644 arch/x86/include/asm/ima-efi.h
create mode 100644 arch/x86/include/asm/pci_setup.h
create mode 100644 include/asm-generic/ima-efi.h
base-commit: a9d99261a978835b02e248fe18af3026416af3e8
--
2.43.0
Powered by blists - more mailing lists