AW: [REGRESSION] x86/microcode: boot hangs bringing up first secondary CPU on i7-6700HQ, avoided by dis_ucode_ldr
From: Dario Ackermann
Date: Tue Nov 10 2026 - 11:15:01 EST
Sorry for the thread-mixup.
I tested v7.4-rc2 (7475ea8b5861). It still hangs while bringing up CPU1,
with both default AP bringup and cpuhp.parallel=0.
On upstream 6.18.55, I compared four images with the same config and boot
arguments (cpuhp.parallel=0, only intel-ucode.img as initrd):
unmodified kernel hangs at CPU1
skip Intel AP microcode loading passes SMP
skip the AP's MSR 0x79 write passes SMP
do the write, skip the following revision read hangs at CPU1
The passing images reach the expected root-mount failure because the initrd
has no NVMe driver. This implicates the AP microcode write or its immediate
effect, rather than the following revision read (?) Moving load_ucode_ap() after
cpuhp_ap_sync_alive() or cpu_init() still hung.
With the unmodified image, microcode revisions 0xdc (one boot) and 0xd6 (two
boots) hung too. A first-parent bisect of v6.4..v6.5 tentatively points to
the smp-core-2023-06-26 merge (9244724f): its parent passed SMP in 4/5 boots
and the merge in 0/5. Earlier kernels occasionally hang too, and tests within
the merged branch were inconclusive.
Any suggestions for what to instrument next? I am new to kernel debugging,
but happy to take pointers.
Dario