pid_controller(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

okay bestie, welcome to the pid_controller(9) page from the Kernel API Manual. The star of the show is pid_controller β€” literally a PID controller, no cap. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

u32 pid_controller (struct thermal_zone_device *tz , int control_temp ,
u32 max_allocatable_power );

🌸 ARGUMENTS 🌸

  • tz β€” the thermal zone we're operating in. that's the arena. 🏟️
  • control_temp β€” the target temperature, in millicelsius. yes, milli. keep the units, bestie. 🌑️
  • max_allocatable_power β€” the maximum allocatable power for this thermal zone. that's the ceiling. 🚧

πŸ’– DESCRIPTION πŸ’–

This PID controller increases the available power budget so the thermal zone's temperature gets as close as possible to control_temp β€” and if the temperature exceeds that target, it limits the power. slay, boundaries. βœ‹

k_po is the proportional term for when we're overshooting. k_pu is the proportional term for when we're undershooting. both iconic, both doing their job. βš–οΈ

integral_cutoff is a threshold β€” below it, we stop accumulating the error. The accumulated error only counts if the requested power will actually make the system warmer. πŸ”₯ And if the system is mostly idle? there's no point in accumulating positive error, bestie. it's giving waste of energy. πŸ™ˆ

πŸŽ€ RETURN πŸŽ€

The power budget for the next period. that's the whole return bag. πŸ’°βœ¨

πŸ”₯ SEE ALSO πŸ”₯


mwah πŸ’‹ this page lives under ./drivers/thermal, dated October 2026, and it's pid_controller(9) β€” bye bestie, go budget that power responsibly. 🫢✨

πŸ“¦ where this page comes from