mcpm_cpu_power_up(9)
π mcpm_cpu_power_up β kernel API manual, bestie edition π
Okay so this is mcpm_cpu_power_up(9) from the Kernel API Manual, and it is literally the "wake up babe, the CPU wants to run" function. MCPM = Multi-Cluster Power Management, iykyk. Let's get into it π¦
β¨ NAME β¨
mcpm_cpu_power_up β make the given CPU in the given cluster runable πΈ
(Yes, "runable". That's exactly how it's spelled here. We do not edit the spelling, we respect the spelling. Periodt. π )
β¨ SYNOPSIS β¨
int mcpm_cpu_power_up (unsigned int cpu , unsigned int cluster );
β¨ ARGUMENTS β¨
cpuβ the CPU number within the given cluster, bestie. Not a global CPU number, it's a within-this-cluster number, don't mix that up πclusterβ the cluster number that this CPU lives in π«Ά
β¨ DESCRIPTION β¨
So the identified CPU gets brought out of reset. β¨ That's the whole vibe.
And listen β if the cluster was powered down, it gets brought up too. But it does it carefully: it takes care not to let the other CPUs in the cluster run, and it makes sure the cluster setup is appropriate. Like a good roommate who turns the lights on just for you and doesn't wake everyone else up π
β οΈ Before you call this, the caller must ensure the appropriate entry vector is initialized with mcpm_set_entry_vector. No entry vector, no party. That's on you, not on this function. π«Ά
Also, this has to be called in a sleepable context. That's non-negotiable, okay? π΄
But β and this is the cute part β the implementation is strongly encouraged to return early and let the operation happen asynchronously, especially when significant delays are expected. Like, don't just stand there in the sleepable context waiting, hand it off and vibe away π¦
And if the operation cannot be performed? You get an error code back. Simple as that. π
β¨ SEE ALSO β¨
Also peek at the kernel file ./arch/arm/include/asm/mcpm.h β it's the source of truth, queen π
The whole MCPM friend group, all of them, no skips:
mcpm_is_available(9)mcpm_cpu_power_down(9)mcpm_wait_for_cpu_powerdown(9)mcpm_cpu_suspend(9)mcpm_cpu_powered_up(9)mcpm_platform_register(9)mcpm_sync_init(9)mcpm_loopback(9)
Anyways that's the whole page, mwah π This little angel comes from ./arch/arm/include/asm, dated October 2026, and it's giving "ARM cluster power management main character energy." Now go power up that CPU, bestie, I believe in you π₯ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms