Title: Keep your OpenBSD system cool with obsdfreqd
       Author: Solène
       Date: 21 March 2022
       Tags: openbsd power
       Description: A new daemon to keep your system cool and improve battery
       life
       
       # Introduction
       
       Last week I wrote a system daemon to manage the CPU frequency from
       userland, entirely bypassing the kernel automatic mode.  While this was
       more of a toy at first because I only implemented the same automatic
       mode used in the kernel but with all the variables being easily
       changed, I found it valuable for many use case to improve battery life
       or even temperature.
       
       The coolest feature I added today is to support a maximum temperature
       and let the program do its best to keep the CPU temperature below the
       limit.
       
 (HTM) obsdfreqd project page
       
       # Installation
       
       - `pkg_add obsdfreqd` since OpenBSD 7.2
       
       # Results
       
       A nice benchmark to run was to start the compilation of the rust
       package with all the four cores of my T470 laptop and run obsdfreqd
       with various temperature limits and see how it goes.  The program did a
       good job at reducing the CPU frequency to keep the temperature around
       the threshold.
       
 (IMG) Diagram of benchmark results of various temperature limitation
       
       # Conclusion
       
       While this is ultimately not a replacement for the in-kernel frequency
       scheduler, it can be used to keep a computer a lot cooler or make a
       system comply with some specific requirements (performance for given
       battery life or maximum temperature).
       
       The customization is so that you can have various settings depending if
       the system is running on battery or not, which can be tailored to suit
       every kind of user.  The defaults are made to provide good performance
       when on AC, and provide a balanced performance/battery life mode when
       on battery.