fair_share_throttle(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

โœจ fair_share_throttle(9) โœจ

okay bestie, welcome to fair_share_throttle(9) โ€” yes that's the section 9 kernel API manual, we're in the deep end today and honestly? it's giving main character energy ๐Ÿซถ


๐Ÿ’… NAME ๐Ÿ’…

fair_share_throttle โ€” literally just throttles the devices associated with the given zone, that's the whole vibe ๐Ÿ”ฅ


๐ŸŒธ SYNOPSIS ๐ŸŒธ

void fair_share_throttle (struct thermal_zone_device *tz , const struct
       thermal_trip_desc *td , int trip_level );

like, it returns void, so don't go looking for a return value, there isn't one, periodt ๐Ÿ’€


๐ŸŽ€ ARGUMENTS ๐ŸŽ€

  • tz โ€” a thermal_zone_device, the zone we're talking about, the main character of this whole operation ๐Ÿ‘‘
  • td โ€” the trip point descriptor, iykyk, it describes the trip point ๐ŸŒธ
  • trip_level โ€” the number of trips crossed by the zone temperature, like how many trip points the temp has blown past ๐Ÿ˜ญ

๐ŸŒˆ DESCRIPTION ๐ŸŒˆ

๐Ÿงš Throttling Logic ๐Ÿงš

so this is the good part: it uses three parameters to calculate the new throttle state of the cooling devices associated with the given zone. three. not two, not four. the way that it's exactly three params is so iconic โœจ

๐Ÿฆ‹ Parameters used for Throttling ๐Ÿฆ‹

  • P1. max_state โ€” the maximum throttle state exposed by the cooling device. the ceiling, the limit, the "no further than this" ๐Ÿšซ
  • P2. weight[i]/total_weight โ€” how 'effective' the *i*th device is, in cooling the given zone. basically: how much this device actually pulls its weight in the group chat ๐Ÿ’ช
  • P3. trip_level/max_no_of_trips โ€” this describes the extent to which the devices should be throttled. and ngl the reasoning here is so real: we do not want to throttle too much when we trip a lower temperature, whereas the throttling is at full swing if we trip critical levels ๐Ÿ”ฅ๐ŸŒก๏ธ

and the final formula, the moment you've all been waiting for:

new_state of cooling device = P3 * P2 * P1

that's it. that's the math. P3 times P2 times P1. slay ๐Ÿงฎโœจ


๐Ÿ“ SEE ALSO ๐Ÿ“

  • Kernel file ./drivers/thermal/gov_fair_share.c โ€” go read it if you're feeling brave bestie ๐Ÿ’–

ok that's the whole page, no cap, every single detail preserved ๐Ÿ’…

๐ŸŒธ ok bye ily, this page is from ./drivers/thermal and it's dated October 2026, and yes that's the same fair_share_throttle(9) we've been screaming about this entire time โ€” see you in the next manpage, mwah ๐Ÿซถโœจ๐ŸŽ€

๐Ÿ“ฆ where this page comes from