Re: [External] Re: [PATCH v9 0/8] Parallel CPU bringup for x86_64

From: Usama Arif
Date: Tue Feb 21 2023 - 06:55:26 EST




On 21/02/2023 11:42, Oleksandr Natalenko wrote:
On 21.02.2023 11:47, Usama Arif wrote:
On 21/02/2023 10:27, David Woodhouse wrote:

On 21 February 2023 09:49:51 GMT, Oleksandr Natalenko <oleksandr@xxxxxxxxxxxxxx> wrote:
On 21.02.2023 10:06, David Woodhouse wrote:
Why does arch/x86/kernel/acpi/sleep.c::x86_acpi_suspend_lowlevel() set

     initial_gs = per_cpu_offset(smp_processor_id()) ?

Would it not be CPU#0 that comes back up, and should it not get
per_cpu_offset(0) ?

Wanna me try `initial_gs = per_cpu_offset(0);` too?


I think it might be smp_processor_id() and not 0 incase CPU0 was offline at the point the system was suspended?

Is it even possible for CPU 0 to be offline, at least on x86?


It is possible on x86 (using BOOTPARAM_HOTPLUG_CPU0), but I just read the Kconfig option and it says:

"resume from hibernate or suspend always starts from CPU0.
So hibernate and suspend are prevented if CPU0 is offline."

so I guess switching to 0 should be ok.