Work Revived On Parallel CPU Bring-Up To Boot Linux Faster On Large Systems/Servers

Written by Michael Larabel in Linux Kernel on 2 February 2023 at 04:15 PM EST. 18 Comments
Originally posted two years ago were Linux kernel patches for bringing up of CPU cores in parallel to speed-up the Linux boot process. With the growing core counts of servers and even high-end desktops / HEDT platforms, this parallel bring-up can lead to significant time savings at boot. The work, unfortunately, stalled but has now been revised.

The work was pursued by David Woodhouse of Amazon for the parallel bring-up of secondary CPU cores for x86_64 processors. With the initial work this meant a 15x speed-up for the boot time on a high-end Skylake server at the time. With those patches then in early 2022 it was discovered the parallel CPU bring-up was having issues with older AMD CPUs. Since then there wasn't any major activity to report on the patches...

In the past few days though TikTok-owner Bytedance expressed interest in these patches for speeding up the Linux boot process on their high core count servers. An updated version of those patches was published this week now by a Bytedance engineer, though besides re-basing it to the Linux 6.1 upstream state it's also disabling the behavior for all AMD CPUs. Due to the boot issues encountered last year with some AMD processors, for now this time-savings feature is being outright disabled for all AMD processors. Considering AMD EPYC "Genoa" goes up to 96 cores per socket and with Bergamo will hit 128 cores per socket, hopefully this AMD issue can be sorted out soon since these patches will provide great savings there.

Intel Sapphire Rapids and AMD Genoa
With today's large core count processors, there can be Linux boot-time savings by bringing up the secondary CPU cores in parallel rather than sequentially as done today with the kernel.

With the revised patches this week, the INIT/SIPI/SIPI in parallel for a 128 CPU core configuration system it dropped the boot time from ~700ms to around 100ms.

The latest x86_64 CPU parallel bring-up patches can be found on the kernel mailing list. Hopefully this time the work won't fizzle out and it will be worked into something upstreamable as well as being able to sort out the prior AMD problems for speeding up the boot process on today's large core count systems and servers.

Update: The v6 patches have now been posted today re-basing the code to 6.2-rc6 state.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week