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:           Fri Aug 13 16:21:51 UTC 2010

Modified Files:
        src/sys/arch/x86/acpi: acpi_cpu_md.c
        src/sys/dev/acpi: acpi_cpu.c acpi_cpu.h acpi_cpu_cstate.c
            acpi_cpu_pstate.c files.acpi
        src/sys/modules/acpicpu: Makefile
Added Files:
        src/sys/dev/acpi: acpi_cpu_tstate.c

Log Message:
Merge T-state a.k.a. throttling support for acpicpu(4).

Remarks:

  1.    Native instructions are supported only on Intel. Native support for
        other x86 vendors will be investigated. By assumption, AMD and others
        use the I/O based approach.

  2.    The existing code, INTEL_ONDEMAND_CLOCKMOD, must be disabled in
        order to use acpicpu(4). Otherwise fatal MSR races may occur.
        Unlike with P-states, no attempt is done to disable the existing
        implementation.

  3.    There is no rationale to export controls to user land.

  4.    Throttling is an artefact from the past. T-states will not be used for
        power management per se. For CPU frequency management, P-states are
        preferred in all circumstances. No noticeable additional power savings
        were observed in various experiments. When the system has been scaled
        to the highest (i.e. lowest power) P-state, it is preferable to move
        from C0 to deeper C-states than it is to actively throttle the CPU.

  5.    But T-states need to be implemented for passive cooling via acpitz(4).
        As specified by ACPI and Intel documents, these can be used as the
        last line of defence against critical thermal conditions. Support
        for this will be added later.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/x86/acpi/acpi_cpu_md.c
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/acpi/acpi_cpu.c \
    src/sys/dev/acpi/acpi_cpu_pstate.c
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/acpi/acpi_cpu.h
cvs rdiff -u -r1.23 -r1.24 src/sys/dev/acpi/acpi_cpu_cstate.c
cvs rdiff -u -r0 -r1.1 src/sys/dev/acpi/acpi_cpu_tstate.c
cvs rdiff -u -r1.78 -r1.79 src/sys/dev/acpi/files.acpi
cvs rdiff -u -r1.2 -r1.3 src/sys/modules/acpicpu/Makefile

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