diff --git a/documentation/content/en/books/handbook/config/_index.adoc b/documentation/content/en/books/handbook/config/_index.adoc --- a/documentation/content/en/books/handbook/config/_index.adoc +++ b/documentation/content/en/books/handbook/config/_index.adoc @@ -1335,6 +1335,59 @@ This chapter demonstrates how to configure ACPI on FreeBSD. It then offers some tips on how to debug ACPI and how to submit a problem report containing debugging information so that developers can diagnosis and fix ACPI issues. +[[cpufreq]] +=== CPU Frequency Control + +FreeBSD includes a generic man:cpufreq[4] driver to allow the administrator, or software such as man:powerd[8] and package:sysutils/powerdxx[], to manage the frequency of the CPU to achieve the desired balance between performance and economy. +A lower setting will save power while reducing the heat generated by the CPU. +A higher setting will increase performance at the cost of using additional power and generating more heat. + +[[est]] +=== Intel(R) Enhanced Speed Step(TM) + +The Intel(R) Enhanced Speed Step(TM) driver, man:est[4], replaces the generic man:cpufreq[4] driver for CPUs that provide this feature. +The CPU frequency can be statically adjusted using man:sysctl[8], or with the `/etc/rc.d/power_profile` startup script. +Additional software, such as man:powerd[8] or package:sysutils/powerdxx[], can be used to automatically adjust the CPU frequency based on processor utilization. + +Each supported frequency, along with its expected power consumption, can be listed by examining the man:sysctl[3] tree: + +``` +root@host:~ # sysctl dev.cpufreq.0.freq_driver dev.cpu.0.freq_levels dev.cpu.0.freq +dev.cpufreq.0.freq_driver: est0 +dev.cpu.0.freq_levels: 3001/53000 3000/53000 2900/50301 2700/46082 2600/43525 2400/39557 2300/37137 2100/33398 2000/31112 1800/27610 1700/25455 1500/22171 1400/20144 1200/17084 1100/15181 900/12329 800/10550 +dev.cpu.0.freq: 800 +``` + +A frequency 1 MHz higher than the maximum frequency of the CPU indicates the Intel(R) Turbo Boost(TM) feature. + +[[hwpstate_intel]] +=== Intel Speed Shift(TM) + +Users running newer Intel(R) CPUs may find some differences in dynamic frequency control when upgrading to FreeBSD 13.0. +A new driver for the Intel(R) Speed Shift(TM) feature set, available on certain SKUs, exposes the ability for the hardware to dynamically vary the core frequencies, including on a per core basis. +FreeBSD 13.0 comes with the man:hwpstate_intel[4] driver to automatically enable Speed Shift(TM) control on equipped CPUs, replacing the older Enhanced Speed Step(TM) man:est[4] driver. +The man:sysctl[8] `dev.cpufreq.%d.freq_driver` will indicate if the system is using Speed Shift. + +To determine which frequency control driver is being used, examining the `dev.cpufreq.0.freq_driver` oid. +``` +root@host:~ # sysctl dev.cpufreq.0.freq_driver +dev.cpufreq.0.freq_driver: hwpstate_intel0 +``` + +This indicates that the new man:hwpstate_intel[4] driver is in use. +On such systems, the oid `dev.cpu.%d.freq_levels` will show only the maximum CPU frequency, and will indicate a power consumption level of `-1`. +The current CPU frequency can be determined by examining the `dev.cpu.%d.freq` oid. + +``` +root@host:~ # sysctl dev.cpu.0.freq_levels dev.cpu.0.freq +dev.cpu.0.freq_levels: 3696/-1 +dev.cpu.0.freq: 898 +``` + +For more information, including on how to balance performance and energy use, and on how to disable this driver, refer to the man page man:hwpstate_intel[4]. + +Note: Users accustomed to using man:powerd[8] or package:sysutils/powerdxx[] will find these utilities have been superseded by the man:hwpstate_intel[4] driver and no longer work as expected. + [[acpi-config]] === Configuring ACPI diff --git a/website/content/en/releases/13.0R/relnotes.adoc b/website/content/en/releases/13.0R/relnotes.adoc --- a/website/content/en/releases/13.0R/relnotes.adoc +++ b/website/content/en/releases/13.0R/relnotes.adoc @@ -30,7 +30,7 @@ The {releaseType} distribution to which these release notes apply represents a point along the {releaseBranch} development branch between {releasePrev} and the future {releaseNext}. Information regarding pre-built, binary {releaseType} distributions along this branch can be found at https://www.FreeBSD.org/releases/[https://www.FreeBSD.org/releases/]. -This distribution of FreeBSD {releaseCurrent} is a {releaseType} distribution. It can be found at https://www.FreeBSD.org/releases/[https://www.FreeBSD.org/releases/] or any of its mirrors. More information on obtaining this (or other) {releaseType} distributions of FreeBSD can be found in the link:{handbook}/mirrors[Obtaining FreeBSD appendix] to the link:{handbook}/[FreeBSD Handbook]. +This distribution of FreeBSD {releaseCurrent} is a {releaseType} distribution. It can be found at https://www.FreeBSD.org/releases/[https://www.FreeBSD.org/releases/] or any of its mirrors. More information on obtaining this (or other) {releaseType} distributions of FreeBSD can be found in the link:{handbook}/mirrors[Obtaining FreeBSD appendix] to the link:{handbook}[FreeBSD Handbook]. All users are encouraged to consult the release errata before installing FreeBSD. The errata document is updated with "late-breaking" information discovered late in the release cycle or after the release. Typically, it contains information on known bugs, security advisories, and corrections to documentation. An up-to-date copy of the errata for FreeBSD {releaseCurrent} can be found on the FreeBSD Web site. @@ -398,7 +398,9 @@ Added the man:axp[4] driver, supporting the 10G ethernet controller found on AMD EPYC processors. gitref:7113afc84c0[repository=src] -Added support for Intel Speed Shift to man:cpufreq[4]. +man:cpufreq[4] now includes support for Intel HW P-States (Speed Shift(TM)) via the new man:hwpstate_intel[4] driver. +On systems equipped with Speed Shift(TM), users of man:powerd[8] or package:sysutils/powerdxx[] may find that these utilities no longer work as expected, as they are superseded by this driver. +For more information, see the link:{handbook}config/#hwpstate_intel[FreeBSD Handbook]. gitref:4577cf3744b[repository=src] Added a driver for pwm-backlight compatible devices, such as the one found on