linux-um.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: Cut rebuild time when changing CONFIG_BLK_DEV_INITRD
@ 2018-10-23 23:40 Florian Fainelli
  2018-10-23 23:40 ` [PATCH 1/2] arch: Add asm-generic/initrd.h and make use of it for most architectures Florian Fainelli
  2018-10-23 23:40 ` [PATCH 2/2] arm64: Create asm/initrd.h Florian Fainelli
  0 siblings, 2 replies; 3+ messages in thread
From: Florian Fainelli @ 2018-10-23 23:40 UTC (permalink / raw)
  To: linux-kernel
  Cc: arnd, linux-arm-kernel, Florian Fainelli, Richard Henderson,
	Ivan Kokshaysky, Matt Turner, Vineet Gupta, Russell King,
	Catalin Marinas, Will Deacon, Mark Salter, Aurelien Jacquiot,
	Yoshinori Sato, Richard Kuo, Tony Luck, Fenghua Yu,
	Geert Uytterhoeven, Michal Simek, Ralf Baechle, Paul Burton,
	James Hogan, Greentime Hu, Vincent Chen, Ley Foon Tan, Jonas Bonn,
	Stefan Kristiansson, Stafford Horne, James E.J. Bottomley,
	Helge Deller, Benjamin Herrenschmidt, Paul Mackerras,
	Michael Ellerman, Palmer Dabbelt, Albert Ou, Martin Schwidefsky,
	Heiko Carstens, Rich Felker, David S. Miller, Jeff Dike,
	Richard Weinberger, Guan Xuetao, Thomas Gleixner, Ingo Molnar,
	Borislav Petkov, H. Peter Anvin,
	maintainer:X86 ARCHITECTURE 32-BIT AND 64-BIT, Chris Zankel,
	Max Filippov, Rob Herring, Frank Rowand, Stephen Boyd,
	Greg Kroah-Hartman, Kate Stewart, Philippe Ombredanne,
	Andrew Morton, Andrey Ryabinin, Christoffer Dall,
	Andrey Konovalov, Masahiro Yamada, Marc Zyngier, Greg Ungerer,
	Matt Redfearn, Thomas Petazzoni, Jan Henrik Weinstock, Alan Kao,
	Deepa Dinamani, Olof Johansson, Hendrik Brueckner,
	Alexei Starovoitov, Daniel Borkmann, Jessica Yu, Ard Biesheuvel,
	open list:ALPHA PORT, open list:SYNOPSYS ARC ARCHITECTURE,
	open list:C6X ARCHITECTURE, moderated list:H8/300 ARCHITECTURE,
	open list:QUALCOMM HEXAGON ARCHITECTURE,
	open list:IA64 Itanium PLATFORM, open list:M68K ARCHITECTURE,
	open list:MIPS, moderated list:NIOS2 ARCHITECTURE,
	open list:OPENRISC ARCHITECTURE, open list:PARISC ARCHITECTURE,
	open list:LINUX FOR POWERPC 32-BIT AND 64-BIT,
	open list:RISC-V ARCHITECTURE, open list:S390, open list:SUPERH,
	open list:SPARC + UltraSPARC sparc/sparc64,
	open list:USER-MODE LINUX UML,
	open list:TENSILICA XTENSA PORT xtensa,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE,
	open list:GENERIC INCLUDE/ASM HEADER FILES

Hi all,

While investigating why ARM64 required a ton of objects to be rebuilt
when toggling CONFIG_DEV_BLK_INITRD, it became clear that this was
because we define __early_init_dt_declare_initrd() differently and we do
that in arch/arm64/include/asm/memory.h which gets included by a fair
amount of other header files, and translation units as well.

This patch series proposes adding an empty initrd.h to satisfy the need
for drivers/of/fdt.c to unconditionally include that file, and moves the
custom __early_init_dt_declare_initrd() definition away from
asm/memory.h

This cuts the number of objects rebuilds from 1920 down to 26, so a
factor 73 approximately.

Apologies for the long CC list, please let me know how you would go
about merging that and if another approach would be preferable, e.g:
introducing a CONFIG_ARCH_INITRD_BELOW_START_OK Kconfig option or
something like that.

Florian Fainelli (2):
  arch: Add asm-generic/initrd.h and make use of it for most
    architectures
  arm64: Create asm/initrd.h

 arch/alpha/include/asm/Kbuild      |  1 +
 arch/arc/include/asm/Kbuild        |  1 +
 arch/arm/include/asm/Kbuild        |  1 +
 arch/arm64/include/asm/initrd.h    | 13 +++++++++++++
 arch/arm64/include/asm/memory.h    |  8 --------
 arch/c6x/include/asm/Kbuild        |  1 +
 arch/h8300/include/asm/Kbuild      |  1 +
 arch/hexagon/include/asm/Kbuild    |  1 +
 arch/ia64/include/asm/Kbuild       |  1 +
 arch/m68k/include/asm/Kbuild       |  1 +
 arch/microblaze/include/asm/Kbuild |  1 +
 arch/mips/include/asm/Kbuild       |  1 +
 arch/nds32/include/asm/Kbuild      |  1 +
 arch/nios2/include/asm/Kbuild      |  1 +
 arch/openrisc/include/asm/Kbuild   |  1 +
 arch/parisc/include/asm/Kbuild     |  1 +
 arch/powerpc/include/asm/Kbuild    |  1 +
 arch/riscv/include/asm/Kbuild      |  1 +
 arch/s390/include/asm/Kbuild       |  1 +
 arch/sh/include/asm/Kbuild         |  1 +
 arch/sparc/include/asm/Kbuild      |  1 +
 arch/um/include/asm/Kbuild         |  1 +
 arch/unicore32/include/asm/Kbuild  |  1 +
 arch/x86/include/asm/Kbuild        |  1 +
 arch/xtensa/include/asm/Kbuild     |  1 +
 drivers/of/fdt.c                   |  1 +
 include/asm-generic/initrd.h       |  1 +
 27 files changed, 38 insertions(+), 8 deletions(-)
 create mode 100644 arch/arm64/include/asm/initrd.h
 create mode 100644 include/asm-generic/initrd.h

-- 
2.17.1



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-10-23 23:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-23 23:40 [PATCH 0/2] arm64: Cut rebuild time when changing CONFIG_BLK_DEV_INITRD Florian Fainelli
2018-10-23 23:40 ` [PATCH 1/2] arch: Add asm-generic/initrd.h and make use of it for most architectures Florian Fainelli
2018-10-23 23:40 ` [PATCH 2/2] arm64: Create asm/initrd.h Florian Fainelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).