Dear David, Am 27.12.21 um 17:57 schrieb Paul Menzel: > Am 15.12.21 um 15:56 schrieb David Woodhouse: >> Doing the INIT/SIPI/SIPI in parallel for all APs and *then* waiting for >> them shaves about 80% off the AP bringup time on a 96-thread socket >> Skylake box (EC2 c5.metal) — from about 500ms to 100ms. >> >> There are more wins to be had with further parallelisation, but this is >> the simple part. >> >> v2: Cut it back to just INIT/SIPI/SIPI in parallel for now, nothing more >> v3: Clean up x2apic patch, add MTRR optimisation, lock topology update >>      in preparation for more parallelisation. >> >> >> David Woodhouse (8): >>        x86/apic/x2apic: Fix parallel handling of cluster_mask >>        cpu/hotplug: Move idle_thread_get() to >>        cpu/hotplug: Add dynamic parallel bringup states before CPUHP_BRINGUP_CPU >>        x86/smpboot: Reference count on smpboot_setup_warm_reset_vector() >>        x86/smpboot: Split up native_cpu_up into separate phases and document them >>        x86/smpboot: Send INIT/SIPI/SIPI to secondary CPUs in parallel >>        x86/mtrr: Avoid repeated save of MTRRs on boot-time CPU bringup >>        x86/smpboot: Serialize topology updates for secondary bringup >> >> Thomas Gleixner (1): >>        x86/smpboot: Support parallel startup of secondary CPUs >> >>   arch/x86/include/asm/realmode.h       |   3 + >>   arch/x86/include/asm/smp.h            |  13 +- >>   arch/x86/include/asm/topology.h       |   2 - >>   arch/x86/kernel/acpi/sleep.c          |   1 + >>   arch/x86/kernel/apic/apic.c           |   2 +- >>   arch/x86/kernel/apic/x2apic_cluster.c | 108 +++++++----- >>   arch/x86/kernel/cpu/common.c          |   6 +- >>   arch/x86/kernel/cpu/mtrr/mtrr.c       |   9 + >>   arch/x86/kernel/head_64.S             |  71 ++++++++ >>   arch/x86/kernel/smpboot.c             | 324 ++++++++++++++++++++++++---------- >>   arch/x86/realmode/init.c              |   3 + >>   arch/x86/realmode/rm/trampoline_64.S  |  14 ++ >>   arch/x86/xen/smp_pv.c                 |   4 +- >>   include/linux/cpuhotplug.h            |   2 + >>   include/linux/smpboot.h               |   7 + >>   kernel/cpu.c                          |  27 ++- >>   kernel/smpboot.c                      |   2 +- >>   kernel/smpboot.h                      |   2 - >>   18 files changed, 441 insertions(+), 159 deletions(-) > > Thank you for working on this. I tested this on a MSI MS-7A37/B350M > MORTAR (BIOS 1.MW 11/01/2021) with a Ryzen 3 2200G, but nothing was > printed to the screen after the GRUB loading messages, so it crashed or > hung somewhere. Unfortunately, this device is used by others, and no > serial console is connected and I do not know how to capture the Linux > log with other means. Same on the ASUS F2A85-M PRO with AMD A6-6400K. Without serial console, the messages below are printed below to the monitor after nine seconds. [ 1.078879] smp: Bringing up secondary CPUs ... [ 1.080950] x86: Booting SMP configuration: Please find the serial log attached. Kind regards, Paul