Re: [PATCH v14 00/12] Parallel CPU bringup for x86_64

From: Tor Vic
Date: Sat Mar 11 2023 - 14:24:09 EST




On 10.03.23 20:18, Paul Menzel wrote:
Dear Tor,


Hi Paul,


Am 10.03.23 um 20:20 schrieb Tor Vic:
On 08.03.23 17:13, Usama Arif wrote:
The main code change over v13 is to enable parallel bringup for SEV-ES guests.

[…]

  .../admin-guide/kernel-parameters.txt         |   3 +
  arch/x86/include/asm/cpu.h                    |   1 +
  arch/x86/include/asm/processor.h              |   6 +-
  arch/x86/include/asm/realmode.h               |   4 +-
  arch/x86/include/asm/sev-common.h             |   3 +
  arch/x86/include/asm/sev.h                    |   5 +
  arch/x86/include/asm/smp.h                    |  18 +-
  arch/x86/include/asm/topology.h               |   2 -
  arch/x86/kernel/acpi/sleep.c                  |  30 +-
  arch/x86/kernel/apic/apic.c                   |   2 +-
  arch/x86/kernel/apic/x2apic_cluster.c         | 126 +++---
  arch/x86/kernel/asm-offsets.c                 |   1 +
  arch/x86/kernel/cpu/common.c                  |   6 +-
  arch/x86/kernel/cpu/topology.c                |   2 +-
  arch/x86/kernel/head_64.S                     | 162 ++++++--
  arch/x86/kernel/smpboot.c                     | 366 +++++++++++++-----
  arch/x86/realmode/init.c                      |   3 +
  arch/x86/realmode/rm/trampoline_64.S          |  27 +-
  arch/x86/xen/smp_pv.c                         |   4 +-
  arch/x86/xen/xen-head.S                       |   2 +-
  include/linux/cpuhotplug.h                    |   2 +
  include/linux/smpboot.h                       |   7 +
  kernel/cpu.c                                  |  31 +-
  kernel/smpboot.h                              |   2 -
  24 files changed, 614 insertions(+), 201 deletions(-)


On Linux 6.2, Zen2 and Skylake, no issues or boot problems:

Tested-by: Tor Vic <torvic9@xxxxxxxxxxx>

Thank you for testing this. It’d be great if you shared the exact timing numbers too. (Just to be sure, did you also test ACPI S3 suspend/resume?)


I have just tested suspend/resume on the Zen2 machine, it works.
Not yet tested on the Skylake platform.

What is the best and simplest way to get these timings numbers?


Kind regards,

Paul