Change hw.perfpolicy=auto by default, at startup. If the system has AC
authorderaadt <deraadt@openbsd.org>
Sat, 30 Oct 2021 23:24:46 +0000 (23:24 +0000)
committerderaadt <deraadt@openbsd.org>
Sat, 30 Oct 2021 23:24:46 +0000 (23:24 +0000)
commit0294e0be5821991219b454f4fdc27f570d30a6fd
tree49d52e52de977ac6115db09084f9dc7abd08b20a
parentecb3537395b6d3ef6a196688f206e1c0c93f35b6
Change hw.perfpolicy=auto by default, at startup.  If the system has AC
power connected (default is yes when no driver differentiates) then default
to 100% performance. On battery, use the existing auto algorithm (which is
admittedly somewhat unrefined).
This change overrides the system/BIOS speed and puts OpenBSD in control.
As this happens very early during boot, besides speedups in all usage usage
patterns, some surprises: unhibernate and sysupgrade times are cut in half.
note: on a few architectures, the setperf fn pointer is changed late, and
thus the auto algorithm stops timeing out.  kettenis and i will look for
a solution.
in snaps for more than a week.
ok kettenis
sys/dev/acpi/acpi.c
sys/dev/acpi/acpiac.c
sys/kern/kern_sysctl.c
sys/kern/sched_bsd.c
sys/sys/sysctl.h