Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/share/man/man4 Document P-states. Update notes about C-state...
details: https://anonhg.NetBSD.org/src/rev/cf9a1edb1bda
branches: trunk
changeset: 756978:cf9a1edb1bda
user: jruoho <jruoho%NetBSD.org@localhost>
date: Mon Aug 09 06:36:18 2010 +0000
description:
Document P-states. Update notes about C-states. Shorten CAVEATS.
diffstat:
share/man/man4/acpicpu.4 | 92 +++++++++++++++++++++++++++++++++--------------
1 files changed, 64 insertions(+), 28 deletions(-)
diffs (176 lines):
diff -r 0002980532bb -r cf9a1edb1bda share/man/man4/acpicpu.4
--- a/share/man/man4/acpicpu.4 Mon Aug 09 05:00:24 2010 +0000
+++ b/share/man/man4/acpicpu.4 Mon Aug 09 06:36:18 2010 +0000
@@ -1,4 +1,4 @@
-.\" $NetBSD: acpicpu.4,v 1.1 2010/08/05 17:31:10 jruoho Exp $
+.\" $NetBSD: acpicpu.4,v 1.2 2010/08/09 06:36:18 jruoho Exp $
.\"
.\" Coyright (c) 2010 Jukka Ruohonen <jruohonen%iki.fi@localhost>
.\" 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 July 23, 2010
+.Dd August 9, 2010
.Dt ACPICPU 4
.Os
.Sh NAME
@@ -46,7 +46,7 @@
processor functionality is grouped into so-called C, P, and T -states.
Presently,
.Nm
-supports only C-states.
+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
@@ -83,7 +83,7 @@
.Tn x86
instructions.
On a typical processor,
-.Tn C1
+.Dv C1
turns off the main internal
.Tn CPU
clock, leaving
@@ -94,17 +94,18 @@
is free to temporarily leave the state to deal with important requests.
.It Dv C2
The main difference between
-.Tn C1
+.Dv C1
and
-.Tn C2
+.Dv C2
lies in the internal hardware entry method of the processor.
While less power is expected to be consumed than in
-.Tn C1 ,
-the bus interface unit and
+.Dv C1 ,
+the bus interface unit is still running.
+But depending on the processor, the local
.Tn APIC
-are still running.
+timer may be stopped.
Like with
-.Tn C1 ,
+.Dv C1 ,
entering and exiting the state are expected to be fast operations.
.It Dv C3
This is the deepest conventional state.
@@ -114,7 +115,7 @@
The internal
.Tn CPU
clock is stopped.
-The
+The local
.Tn APIC
timer is stopped.
Depending on the processor, additional timers such as
@@ -129,11 +130,12 @@
.El
.Pp
Each state has a latency associated with entry and exit.
-Generally, the higher the state, the lower the power consumption, and
+The higher the state, the lower the power consumption, and
the higher the potential performance costs.
+.Pp
The
.Nm
-driver tries to balance these latency
+driver tries to balance the latency
constraints when choosing the appropriate state.
One of the checks involves bus master activity;
if such activity is detected, a lower state is used.
@@ -146,6 +148,44 @@
support.
And generally: to save power with C-states, one should
avoid polling, both in userland and in the kernel.
+.Ss P-states
+The processor performance states, or P-states, are used to
+control the clock frequencies and voltages of a
+.Tn CPU .
+Underneath the abstractions of
+.Tn ACPI ,
+P-states are associated with such technologies as
+.Dq SpeedStep
+.Pq Intel ,
+.Dq PowerNow!
+.Pq Tn AMD ,
+and
+.Dq PowerSaver
+.Pq VIA .
+.Pp
+The
+.Dv P0
+state is always the highest operating frequency sypported by the processor.
+The number of additional P-states may vary across processors and vendors.
+Each higher numbered P-state represents lower
+clock frequencies and hence lower power consumption.
+.Pp
+Unlike in the conventional
+.Tn CPU
+frequency management,
+.Tn ACPI
+provides support for Dynamic Frequency and Voltage Scaling
+.Pq Tn DVFS .
+This means that the firmware may request the implementation to
+dynamically scale the presently supported maximum clock frequency.
+For example, if
+.Xr acpiacad 4
+is disconnected, the maximum available frequency may be lowered.
+Currently the
+.Nx
+implementation reacts to these events by imposing the dynamic maximum, but
+.Nm
+does not take any actions to manipulate the frequencies by itself.
.Sh SEE ALSO
.Xr acpi 4 ,
.Xr cpu_idle 9
@@ -164,34 +204,30 @@
At least the following caveats can be mentioned.
.Bl -bullet
.It
-P-states are not currently supported.
+It is currently only safe to use
+.Dv C1
+on
+.Nx .
+All other C-states are disabled by default.
.It
-The C3 state is not currently supported.
-Even if the C3 state was supported,
-the power savings might be limited compared to other operating systems with a
-.Dq tickless
-kernel.
-.It
-Nor is a so-called
+The
.Tn AMD
.Tn C1E
-extension supported.
+extension is not supported.
If this extension is available in a vendor
.Tn BIOS ,
it is recommended to turn it off, with or without
.Nm .
.It
-The algorithm used to choose a C-state is not yet well understood.
-Depending on the processor and firmware,
-the system may experience slowdowns with
-.Nm .
+The use of native instructions in P-states
+is currently supported only on Intel
+.Tn CPUs .
.It
Neither processor thermal control (see
.Xr acpitz 4 )
nor
.Dq throttling
-are currently supported in
-.Nx .
+are currently supported.
.It
There is currently neither a well-defined, machine-independent
.Tn API
Home |
Main Index |
Thread Index |
Old Index