On Mon, Jun 30, 2025 at 03:07:08PM +0300, Kirill A. Shutemov wrote: > On Mon, Jun 30, 2025 at 01:03:16PM +0200, Peter Zijlstra wrote: > > On Fri, Jun 27, 2025 at 08:35:08PM -0700, Ricardo Neri wrote: > > > > > - /* > > > - * Wait for the CPU to wake up. > > > - * > > > - * The CPU being woken up is essentially in a spin loop waiting to be > > > - * woken up. It should not take long for it wake up and acknowledge by > > > - * zeroing out ->command. > > > - * > > > - * ACPI specification doesn't provide any guidance on how long kernel > > > - * has to wait for a wake up acknowledgment. It also doesn't provide > > > - * a way to cancel a wake up request if it takes too long. > > > - * > > > - * In TDX environment, the VMM has control over how long it takes to > > > - * wake up secondary. It can postpone scheduling secondary vCPU > > > - * indefinitely. Giving up on wake up request and reporting error opens > > > - * possible attack vector for VMM: it can wake up a secondary CPU when > > > - * kernel doesn't expect it. Wait until positive result of the wake up > > > - * request. > > > - */ > > > - while (READ_ONCE(acpi_mp_wake_mailbox->command)) > > > - cpu_relax(); > > > - > > > - return 0; > > > -} > > > > > + while (READ_ONCE(acpi_mp_wake_mailbox->command)) > > > + cpu_relax(); > > > + > > > + return 0; > > > +} > > > > So I realize this is just code movement at this point, but this will > > hard lockup the machine if the AP doesn't come up, right? > > Correct. > > > IIRC we have some timeout in the regular SIPI bringup if the AP doesn't > > respond. > > See the comment. Doh, reading hard ;-) Thanks!