Module Name: src Committed By: jruoho Date: Sun Aug 15 05:09:30 UTC 2010
Modified Files: src/share/man/man4: acpicpu.4 Log Message: Document T-states. One less item in CAVEATS. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/share/man/man4/acpicpu.4 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/share/man/man4/acpicpu.4 diff -u src/share/man/man4/acpicpu.4:1.8 src/share/man/man4/acpicpu.4:1.9 --- src/share/man/man4/acpicpu.4:1.8 Wed Aug 11 17:28:59 2010 +++ src/share/man/man4/acpicpu.4 Sun Aug 15 05:09:30 2010 @@ -1,4 +1,4 @@ -.\" $NetBSD: acpicpu.4,v 1.8 2010/08/11 17:28:59 jruoho Exp $ +.\" $NetBSD: acpicpu.4,v 1.9 2010/08/15 05:09:30 jruoho Exp $ .\" .\" Coyright (c) 2010 Jukka Ruohonen <jruoho...@iki.fi> .\" All rights reserved. @@ -24,7 +24,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd August 11, 2010 +.Dd August 15, 2010 .Dt ACPICPU 4 .Os .Sh NAME @@ -44,9 +44,6 @@ Typically the .Tn ACPI processor functionality is grouped into so-called C-, P-, and T-states. -Presently, -.Nm -supports C- and P-states. .Ss C-states The processor power states, or C-states, are low-power modes that can be used when the @@ -186,6 +183,68 @@ implementation reacts to these events by imposing the dynamic maximum, but .Nm does not take any actions to manipulate the frequencies by itself. +.Ss T-states +Processor T-states, or +.Dq throttling states , +can be used to actively modulate the +time a processor is allowed to execute. +Outside the +.Tn ACPI +nomenclature, throttling may refer to +.Dq on-demand clock modulation +.Pq Tn ODCM , +among others. +.Pp +The concept of +.Dq duty cycle +is relevant to T-states. +It is generally defined to be a fraction of time that a system is in an +.Dq active +state. +The T0-state has always a duty cycle of 100 \&%, +and thus, comparable to the C0-state, the processor is fully active. +Each additional higher-numbered T-state indicates lower duty cycles. +At most eight T-states may be available, although also T-states use +.Tn DVFS ; +both the maximum and the minimum available T-state may change dynamically. +.Pp +The duty cycle does not refer to the actual clock signal, +but to the time period in which the clock signal is allowed +to drive the processor chip. +For instance, if a T-state has a duty cycle of 75 \&%, the +.Tn CPU +runs at the same clock frequency and uses the same voltage, +but 25 \&% of the time the +.Tn CPU +is forced to idle. +Because of this, the use of T-states may +severely reduce system performance. +.Pp +There are two typical situations for throttling: +power management and thermal control. +As a technique to save power, +T-states are largely an artefact from the past. +There was a short period in the x86 lineage when P-states +were not yet available and throttling was considered +as an option to modulate the processor power consumption. +The approach was however quickly abandoned. +In modern x86 systems P-states should be preferred in all circumstances. +It is also more beneficial to move from the C0-state +to deeper C-states than it is to actively force down the +duty cycle of a processor. +.Pp +But T-states have retained their use as a last line +of defence against critical thermal conditions. +Many x86 processors include a catastrophic shutdown detector. +When the processor core temperature reaches this factory defined trip-point, +the processor execution is halted without any software control. +Before this fatal condition, it is possible to use throttling +for a short period of time in order to force the temperatures to lower levels. +The thermal control modulation is typically started only when +the system is in the highest-power P-state and +a high temperature situation exists. +After the temperatures have returned to non-critical levels, +the modulation ceases. .Ss Statistics The .Nm @@ -197,7 +256,7 @@ .Fl e flag). Note that valid per-CPU data is available only for C-states. -.Ss System information variables +.Ss System control variables The .Nm driver uses the same @@ -216,6 +275,7 @@ may however remove the system control variables without further notice. .Sh SEE ALSO .Xr acpi 4 , +.Xr acpitz 4 , .Xr cpu_idle 9 .Sh HISTORY The @@ -251,11 +311,9 @@ is currently supported only on Intel .Tn CPUs . .It -Neither processor thermal control (see +Processor thermal control (see .Xr acpitz 4 ) -nor -.Dq throttling -are currently supported. +is not yet supported. .It There is currently neither a well-defined, machine-independent .Tn API