On 21.02.2023 12:49, David Woodhouse wrote:
On 21 February 2023 11:46:04 GMT, Oleksandr Natalenko
<oleksandr@xxxxxxxxxxxxxx> wrote:
On 21.02.2023 11: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?
Hm, yes please. There's another one to make zero on the next line up,
I think?
So,
```
early_gdt_descr.address = (unsigned long)get_cpu_gdt_rw(0);
initial_gs = per_cpu_offset(0);
```
?
Should I leave `smpboot_control = 0;` commented out, or I should
uncomment it back?
Put it back, else those things don't matter. Thanks.
With this in place:
```
early_gdt_descr.address = (unsigned long)get_cpu_gdt_rw(0);
initial_gs = per_cpu_offset(0);
smpboot_control = 0;
```
the resume does not work.
--
Oleksandr Natalenko (post-factum)