[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ab28d2ce-4a9c-387d-9eda-558045a0c35b@molgen.mpg.de>
Date: Tue, 28 Dec 2021 12:34:25 +0100
From: Paul Menzel <pmenzel@...gen.mpg.de>
To: David Woodhouse <dwmw2@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>
Cc: Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org,
"H . Peter Anvin" <hpa@...or.com>,
Paolo Bonzini <pbonzini@...hat.com>,
"Paul E . McKenney" <paulmck@...nel.org>,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
rcu@...r.kernel.org, mimoja@...oja.de, hewenliang4@...wei.com,
hushiyuan@...wei.com, luolongjun@...wei.com, hejingxian@...wei.com
Subject: Re: [PATCH v3 0/9] Parallel CPU bringup for x86_64
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 <linux/smpboot.h>
>> 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
View attachment "linux-5.16-rc6-messages.txt" of type "text/plain" (14242 bytes)
Powered by blists - more mailing lists