mcpm_cpu_suspend(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’€ mcpm_cpu_suspend(9) β€” bring the calling CPU in a suspended state πŸ’€

okay so bestie, this one lives in the Kernel API Manual (section 9, kernel-level, you already know 🫢). Let's get into it before your CPU literally falls asleep on you.


✨ SYNOPSIS ✨

void mcpm_cpu_suspend (void );

that's it. that's the whole call. she takes nothing and gives nothing back 😌


πŸŽ€ ARGUMENTS πŸŽ€

  • void β€” no arguments. literally none. zero. empty set. she's not asking for anything from you πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

So the calling CPU gets suspended. straight up napping. and ngl, this is similar to mcpm_cpu_power_down β€” like, same energy β€” except there might be extra platform-specific configuration steps in there to allow an asynchronous wake-up, e.g. with a pending interrupt. so she's not fully down for the count, she's just, like, dozing with one eye open 😭

If this CPU turns out to be the "last man standing" in the cluster πŸ‘‘ then the cluster itself may get prepped for power-down too. main character energy forreal.

⚠️ okay this part is important, do NOT skip it: this must be called with interrupts disabled. no cap. if you didn't disable them, that's a you problem and it's giving πŸ’€

On success, this does not return. like, at all. she's gone πŸŒ™ re-entry into the kernel is expected via mcpm_entry_point.

But β€” and this is the plot twist β€” it will return if mcpm_platform_register has not been called previously, in which case the caller should take appropriate action. so like, if you skipped the registration era of your life, expect a comeback πŸ™ˆ


🧚 SEE ALSO 🧚

Kernel file ./arch/arm/include/asm/mcpm.h β€” go read the source bestie, it's iconic ⭐


kisses bestie, this page came from ./arch/arm/include/asm and she's stamped October 2026 🌸 go put that CPU to sleep (after disabling interrupts, obviously) πŸ’–βœ¨

πŸ“¦ where this page comes from