linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: x86@kernel.org, Linus Torvalds <torvalds@linux-foundation.org>,
	Nikolay Borisov <nik.borisov@suse.com>,
	"Ahmed S. Darwish" <darwi@linutronix.de>,
	Arnd Bergmann <arnd@arndb.de>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
	Huacai Chen <chenhuacai@kernel.org>,
	WANG Xuerui <kernel@xen0n.name>,
	loongarch@lists.linux.dev,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	linux-m68k@lists.linux-m68k.org,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	linux-mips@vger.kernel.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	linux-sh@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
	sparclinux@vger.kernel.org, Richard Weinberger <richard@nod.at>,
	Anton Ivanov <anton.ivanov@cambridgegreys.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	linux-um@lists.infradead.org,
	Richard Henderson <richard.henderson@linaro.org>,
	"James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Chris Zankel <chris@zankel.net>,
	Tom Lendacky <thomas.lendacky@amd.com>
Subject: [patch 12/17] init: Invoke arch_cpu_finalize_init() earlier
Date: Wed, 14 Jun 2023 01:39:39 +0200 (CEST)	[thread overview]
Message-ID: <20230613224545.612182854@linutronix.de> (raw)
In-Reply-To: 20230613223827.532680283@linutronix.de

X86 is reworking the boot process so that initializations which are not
required during early boot can be moved into the late boot process and out
of the fragile and restricted initial boot phase.

arch_cpu_finalize_init() is the obvious place to do such initializations,
but arch_cpu_finalize_init() is invoked too late in start_kernel() e.g. for
initializing the FPU completely. fork_init() requires that the FPU is
initialized as the size of task_struct on X86 depends on the size of the
required FPU register buffer.

Fortunately none of the init calls between calibrate_delay() and
arch_cpu_finalize_init() is relevant for the functionality of
arch_cpu_finalize_init().

Invoke it right after calibrate_delay() where everything which is relevant
for arch_cpu_finalize_init() has been set up already.

No functional change intended.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 init/main.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/init/main.c
+++ b/init/main.c
@@ -1041,6 +1041,8 @@ asmlinkage __visible void __init __no_sa
 	sched_clock_init();
 	calibrate_delay();
 
+	arch_cpu_finalize_init();
+
 	/*
 	 * This needs to be called before any devices perform DMA
 	 * operations that might use the SWIOTLB bounce buffers. It will
@@ -1077,8 +1079,6 @@ asmlinkage __visible void __init __no_sa
 	taskstats_init_early();
 	delayacct_init();
 
-	arch_cpu_finalize_init();
-
 	acpi_subsystem_init();
 	arch_post_acpi_subsys_init();
 	kcsan_init();


  parent reply	other threads:[~2023-06-13 23:41 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-13 23:39 [patch 00/17] init, treewide, x86: Cleanup check_bugs() and start sanitizing the x86 boot process Thomas Gleixner
2023-06-13 23:39 ` [patch 01/17] init: Provide arch_cpu_finalize_init() Thomas Gleixner
2023-06-14  9:28   ` Borislav Petkov
2023-06-13 23:39 ` [patch 02/17] x86/cpu: Switch to arch_cpu_finalize_init() Thomas Gleixner
2023-06-14  9:53   ` Thomas Gleixner
2023-06-14 10:39     ` Borislav Petkov
2023-06-13 23:39 ` [patch 03/17] ARM: cpu: " Thomas Gleixner
2023-06-25 21:27   ` Philippe Mathieu-Daudé
2023-06-13 23:39 ` [patch 04/17] ia64/cpu: " Thomas Gleixner
2023-06-25 21:24   ` Philippe Mathieu-Daudé
2023-06-13 23:39 ` [patch 05/17] loongarch/cpu: " Thomas Gleixner
2023-06-25 21:24   ` Philippe Mathieu-Daudé
2023-06-13 23:39 ` [patch 06/17] m68k/cpu: " Thomas Gleixner
2023-06-14  9:22   ` Geert Uytterhoeven
2023-06-13 23:39 ` [patch 07/17] mips/cpu: " Thomas Gleixner
2023-06-25 21:25   ` Philippe Mathieu-Daudé
2023-06-13 23:39 ` [patch 08/17] sh/cpu: " Thomas Gleixner
2023-06-25 21:29   ` Philippe Mathieu-Daudé
2023-06-25 21:45   ` John Paul Adrian Glaubitz
2023-06-13 23:39 ` [patch 09/17] sparc/cpu: " Thomas Gleixner
2023-06-14 20:41   ` Sam Ravnborg
2023-06-25 21:30   ` Philippe Mathieu-Daudé
2023-06-13 23:39 ` [patch 10/17] um/cpu: " Thomas Gleixner
2023-06-14  6:51   ` Richard Weinberger
2023-06-25 21:28   ` Philippe Mathieu-Daudé
2023-06-13 23:39 ` [patch 11/17] init: Remove check_bugs() leftovers Thomas Gleixner
2023-06-14  6:14   ` Richard Henderson
2023-06-25 21:31   ` Philippe Mathieu-Daudé
2023-06-13 23:39 ` Thomas Gleixner [this message]
2023-06-15 21:44   ` [patch 12/17] init: Invoke arch_cpu_finalize_init() earlier Edgecombe, Rick P
2023-06-15 22:03     ` Thomas Gleixner
2023-06-13 23:39 ` [patch 13/17] init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init() Thomas Gleixner
2023-06-21 17:12   ` Tom Lendacky
2023-06-13 23:39 ` [patch 14/17] x86/init: Initialize signal frame size late Thomas Gleixner
2023-06-13 23:39 ` [patch 15/17] x86/fpu: Remove cpuinfo argument from init functions Thomas Gleixner
2023-06-13 23:39 ` [patch 16/17] x86/fpu: Mark init functions __init Thomas Gleixner
2023-06-13 23:39 ` [patch 17/17] x86/fpu: Move FPU initialization into arch_cpu_finalize_init() Thomas Gleixner
2023-06-14  5:03   ` Chang S. Bae
2023-06-14  9:52     ` Thomas Gleixner
2023-09-01 17:30   ` Guenter Roeck
2023-09-01 18:00     ` Nikolay Borisov
2023-09-01 18:21       ` Guenter Roeck
2023-09-01 18:02     ` Nikolay Borisov
2023-09-01 21:09       ` Guenter Roeck
2023-06-28  3:38 ` [patch 00/17] init, treewide, x86: Cleanup check_bugs() and start sanitizing the x86 boot process Jan Engelhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230613224545.612182854@linutronix.de \
    --to=tglx@linutronix.de \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=arnd@arndb.de \
    --cc=chenhuacai@kernel.org \
    --cc=chris@zankel.net \
    --cc=dalias@libc.org \
    --cc=darwi@linutronix.de \
    --cc=davem@davemloft.net \
    --cc=geert@linux-m68k.org \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=johannes@sipsolutions.net \
    --cc=kernel@xen0n.name \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-um@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=loongarch@lists.linux.dev \
    --cc=mpe@ellerman.id.au \
    --cc=nik.borisov@suse.com \
    --cc=richard.henderson@linaro.org \
    --cc=richard@nod.at \
    --cc=sparclinux@vger.kernel.org \
    --cc=thomas.lendacky@amd.com \
    --cc=torvalds@linux-foundation.org \
    --cc=tsbogend@alpha.franken.de \
    --cc=x86@kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).