Messages in this thread | | | From | Linus Torvalds <> | Date | Fri, 13 Oct 2023 10:48:19 -0700 | Subject | Re: [regression] some Dell systems hang at shutdown due to "x86/smp: Put CPUs into INIT on shutdown if possible" (was Fwd: Kernel 6.5 hangs on shutdown) |
| |
On Fri, 13 Oct 2023 at 05:05, Linux regression tracking (Thorsten Leemhuis) <regressions@leemhuis.info> wrote: > > Thomas, turns out that bisection result was slightly wrong: a recheck > confirmed that the regression is actually caused by 45e34c8af58f23 > ("x86/smp: Put CPUs into INIT on shutdown if possible") [v6.5-rc1] of > yours. See https://bugzilla.kernel.org/show_bug.cgi?id=217995 for details.
That commit does look pretty dangerous.
If *anything* is done through SMI after the code does that smp_park_other_cpus_in_init() sequence, I wouldn't be surprised in the least if the machine is hung.
That's made worse since it looks like the shutdown sequence isn't necessarily run on the boot CPU, so the boot CPU itself may be in INIT, and any SMI quite possibly ends up treating that CPU specially.
Who knows what SMI does, but the fact that the affected machines seem to be mainly from one particular manufacturer does tend to imply it's something like that.
And the code does do a fair amount *after* shutting down cpu's. Not just things like calling x86_platform.iommu_shutdown(), but also things like possibly the tboot shutdown sequence (which almost *certainly* is some SMI thing).
I dunno. Thomas - I htink the argument for that commit was fairly theoretical, and reverting it seems the obvious thing, unless you have some idea of what might be wrong.
Linus
| |