check_power_actors(9)
π 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
tzimplement the power actor API β it returns the number of them. and yes, that number can legitimately be0, 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:
mul_frac(9)div_frac(9)struct power_actor(9)struct power_allocator_params(9)estimate_sustainable_power(9)estimate_pid_constants(9)get_sustainable_power(9)pid_controller(9)power_actor_set_power(9)divvy_up_power(9)get_governor_trips(9)power_allocator_bind(9)
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
- 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