linuxppc-dev.lists.ozlabs.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: open list:MIPS, Alan Kao, open list:SUPERH, Will Deacon,
	Paul Mackerras, open list:GENERIC INCLUDE/ASM HEADER FILES,
	James E.J. Bottomley, Geert Uytterhoeven, Catalin Marinas,
	Matt Turner, moderated list:H8/300 ARCHITECTURE, Marc Zyngier,
	open list:USER-MODE LINUX UML, Thomas Gleixner, Richard Henderson,
	Matt Redfearn, Greg Kroah-Hartman, Ralf Baechle, Richard Kuo,
	Paul Burton, Andrew Morton, open list:IA64 Itanium PLATFORM,
	James Hogan, Palmer Dabbelt, Max Filippov, Deepa Dinamani,
	Vincent Chen, open list:S390, open list:C6X ARCHITECTURE,
	Yoshinori Sato, open list:QUALCOMM HEXAGON ARCHITECTURE,
	Helge Deller, Jan Henrik Weinstock, Andrey Ryabinin,
	open list:TENSILICA XTENSA PORT xtensa, Jessica Yu,
	Philippe Ombredanne, Aurelien Jacquiot,
	open list:M68K ARCHITECTURE, Stafford Horne, linux-arm-kernel,
	Chris Zankel, Tony Luck, open list:OPENRISC ARCHITECTURE,
	Martin Schwidefsky, Kate Stewart, Heiko Carstens,
	Alexei Starovoitov, Frank Rowand, Florian Fainelli,
	Daniel Borkmann, open list:SYNOPSYS ARC ARCHITECTURE, Fenghua Yu,
	arnd, Andrey Konovalov, Jeff Dike, Masahiro Yamada,
	Borislav Petkov, Greentime Hu, Guan Xuetao,
	open list:PARISC ARCHITECTURE, Ard Biesheuvel, Christoffer Dall,
	open list:ALPHA PORT, Olof Johansson, Ley Foon Tan,
	David S. Miller, Rich Felker, Hendrik Brueckner, Thomas Petazzoni,
	H. Peter Anvin, open list:SPARC + UltraSPARC sparc/sparc64,
	open list:RISC-V ARCHITECTURE, Greg Ungerer, Jonas Bonn,
	Richard Weinberger, maintainer:X86 ARCHITECTURE 32-BIT AND 64-BIT,
	Russell King, Ingo Molnar, Mark Salter,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE, Albert Ou,
	Stefan Kristiansson, Rob Herring,
	moderated list:NIOS2 ARCHITECTURE, Michal Simek, Vineet Gupta,
	Stephen Boyd, Ivan Kokshaysky,
	open list:LINUX FOR POWERPC 32-BIT AND 64-BIT

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-24 10:41 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).