check_power_actors(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… check_power_actors(9) β€” Kernel API Manual, bestie edition

okay so real talk, this is a page from the Kernel API Manual and it's called check_power_actors(9). yes the (9) is part of the name, it's giving very section-nine, very kernel-internals. we move.


🌸 NAME 🌸

check_power_actors β€” literally just goes around checking all your cooling devices and warns you when they're not power actors. that's it. that's the whole gig. 🫢


✨ SYNOPSIS ✨

int check_power_actors (struct thermal_zone_device *tz , struct
       power_allocator_params *params );

like yeah, two args, returns an int. classic. πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • tz β€” the thermal zone we're operating on. this is the main character of the whole function ngl. πŸ”₯
  • params β€” the power allocator's own private data. it's private, it's personal, don't ask questions. πŸ™ˆ

πŸ¦‹ DESCRIPTION πŸ¦‹

so the vibe here is: check_power_actors checks every single cooling device in tz, and every time it finds one that's missing the power actor API, it warns. not silently fails, not throws a tantrum β€” just a nice loud warning. πŸ—£οΈ

and like, those warnings are actually useful, okay? they're there to help you investigate the issue, which could literally be something like a device just not having an Energy Model. so when you see the warning, that's your sign to go look. iykyk. πŸ”

then the return value, which is the part everyone actually cares about:

  • if all of the cooling devices currently attached to tz implement the power actor API β†’ it returns the number of them. and yes, that number can legitimately be 0, because some cooling devices might get attached later. zero is a valid slay. πŸŽ‰
  • otherwise β†’ it returns -EINVAL. not great, not terrible, but definitely a "go fix your devices" moment. πŸ’€
fr fr do not sleep on the -EINVAL here β€” it means at least one attached cooling device is not a power actor and the warning already told you about it.

🌈 SEE ALSO 🌈

Kernel file ./drivers/thermal/gov_power_allocator.c, plus all these besties who live in the same neighborhood:


and that's the whole page! 🧚 this one lives in ./drivers/thermal and it's dated October 2026 β€” so like, future-coded of it. go check those power actors, bestie, and remember: warn loudly, return honestly, periodt. πŸ‘‘πŸ’–

πŸ“¦ where this page comes from