I have a KVM guest with 4 vcpus and running kernel 3.0.101. I tried to force kernel crash on CPU1 by binding to CPU1 with command CPU_SET(2, &set) and then call echo c > /proc/sysrq-trigger to crash the kernel. Kexec loads the capture kernel to make a dump file. Then I calls “kexec -l” with relevant parameters and calls “kexec -e” to boot the kernel. However, the kernel cannot bring up the CPU1 with the error
Booting Node 0, Processors #1
CPU1: Not responding.
NMI watchdog disabled (cpu2): hardware events not enabled
KVM setup async PF for cpu 2
NMI watchdog disabled (cpu3): hardware events not enabled
KVM setup async PF for cpu 3
so when the booting process terminates, since the CPU1 is not brought up, no crash_notes in /sys/devices/system/cpu/cpu1/crash_notes, kexec cannot execute again.
My question is why crashing kernel on a specific CPU (not CPU0) on a KVM guest, it cannot bring up that CPU? The problem is gone if the guest is rebooted again. The problem does not happen on a real HW.
Thanks and best regards.