nmi_shootdown_cpus(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, welcome to the nmi_shootdown_cpus(9) page from the Kernel API Manual β€” the whole main-character mission is literally: Stop other CPUs via NMI. That’s it, that’s the vibe. No cap. ✨

πŸŽ€ SYNOPSIS πŸŽ€

void nmi_shootdown_cpus (nmi_shootdown_cb callback );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • callback β€” optional callback to be invoked from the NMI handler. If you’re passing one, this is the callback that gets invoked from the NMI handler; it’s optional, iykyk. 🫢

πŸ’œ DESCRIPTION πŸ’œ

So here’s the lore, fr fr: the NMI handler on the remote CPUs invokes callback, if it’s not NULL, first β€” like, callback gets the first turn. Then it disables virtualization to ensure that INIT is recognized during reboot. That’s the sequence: callback first when it’s not NULL, then virtualization goes off, all so INIT is recognized during reboot. Slay. 🌸

⚠️ one-shot alert, bestie: nmi_shootdown_cpus can only be invoked once. After the first invocation, all other CPUs are stuck in crash_nmi_callback and cannot respond to a second NMI. No round two, no double-dip, periodt. πŸ˜­πŸ’€

🌈 SEE ALSO 🌈

  • Kernel file ./arch/x86/kernel/reboot.c

πŸ’Œ xoxo, from the ./arch/x86/kernel source/version, dated October 2026 β€” your manual bestie nmi_shootdown_cpus(9) πŸ’–βœ¨

πŸ“¦ where this page comes from