Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys
Module Name: src
Committed By: jruoho
Date: Sun Jul 18 09:29:13 UTC 2010
Modified Files:
src/sys/arch/amd64/conf: GENERIC
src/sys/arch/i386/conf: GENERIC
src/sys/arch/x86/conf: files.x86
src/sys/arch/x86/include: machdep.h
src/sys/arch/x86/x86: x86_machdep.c
src/sys/dev/acpi: acpi.c files.acpi
Added Files:
src/sys/arch/x86/acpi: acpi_cpu_md.c
src/sys/dev/acpi: acpi_cpu.c acpi_cpu.h acpi_cpu_cstate.c
Log Message:
Merge a driver for ACPI CPUs with basic support for processor power states,
also known as C-states. The code is modular and provides an easy way to add
the remaining functionality later (namely throttling and P-states).
Remarks:
1. Commented out in the GENERICs; more testing exposure is needed.
2. The C3-state is disabled for the time being because it turns off
timers, among them the local APIC timer. This may not be universally
true on all x86 processors; define ACPICPU_ENABLE_C3 to test.
3. The algorithm used to choose a power state may need tuning. When
evaluating the appropriate state, the implementation uses the
previous sleep time as an indicator. Additional hints would include
for example the system load.
Also bus master activity is evaluated when choosing a state. The
usb(4) stack is notorious for such activity even when unused.
Typically it must be disabled in order to reach the C3-state,
but it may also prevent the use of C2.
4. While no extensive empirical measurements have been carried out, the
power savings are somewhere between 1-2 W with C1 and C2, depending
on the processor, firmware, and load. With C3 even up to 4 W can be
saved. The less something ticks, the more power is saved.
ok jmcneill@, joerg@, and discussed with various people.
To generate a diff of this commit:
cvs rdiff -u -r1.281 -r1.282 src/sys/arch/amd64/conf/GENERIC
cvs rdiff -u -r1.986 -r1.987 src/sys/arch/i386/conf/GENERIC
cvs rdiff -u -r0 -r1.1 src/sys/arch/x86/acpi/acpi_cpu_md.c
cvs rdiff -u -r1.55 -r1.56 src/sys/arch/x86/conf/files.x86
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/x86/include/machdep.h
cvs rdiff -u -r1.41 -r1.42 src/sys/arch/x86/x86/x86_machdep.c
cvs rdiff -u -r1.206 -r1.207 src/sys/dev/acpi/acpi.c
cvs rdiff -u -r0 -r1.1 src/sys/dev/acpi/acpi_cpu.c \
src/sys/dev/acpi/acpi_cpu.h src/sys/dev/acpi/acpi_cpu_cstate.c
cvs rdiff -u -r1.75 -r1.76 src/sys/dev/acpi/files.acpi
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index