Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys



On 18.07.10 11:29, Jukka Ruohonen wrote:
> 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.

Great work!

Please disable C1E on AMD K8, Family10h and Family11h CPUs,
because C1E disables the local APIC timer.
You can enable C1E and once the local APIC timer is tickless.
Hint: There are some nasty BIOSes which enable C1E after acpi cpu
has been initialized.

On Xen you don't need to do anything as Xen already handles this
for you.

Christoph


Home | Main Index | Thread Index | Old Index