From owner-freebsd-current@FreeBSD.ORG Sat Nov 15 12:24:05 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C90A516A4CE for ; Sat, 15 Nov 2003 12:24:05 -0800 (PST) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 2D6AF43F3F for ; Sat, 15 Nov 2003 12:24:05 -0800 (PST) (envelope-from nate@rootlabs.com) Received: (qmail 54556 invoked by uid 1000); 15 Nov 2003 20:24:06 -0000 Date: Sat, 15 Nov 2003 12:24:06 -0800 (PST) From: Nate Lawson To: current@freebsd.org Message-ID: <20031115121418.U54473@root.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: acpi-jp@jp.freebsd.org Subject: Re: cvs commit: src/sys/dev/acpica acpi_cpu.c src/share/man/man4 acpi.4 src/sys/conf files src/sys/modules/acpi Makefile X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 15 Nov 2003 20:24:05 -0000 The default value of this driver is to use C1 (HLT), which is equivalent to previous behavior. To use lower idle states, set hw.acpi.cpu.cx_lowest to the index of the desired state. See sysctl hw.acpi.cpu output to get an idea of the values. Here is the result on my IBM T23: hw.acpi.cpu.cx_supported: C1/0 C2/84 C3/120 hw.acpi.cpu.cx_lowest: 2 hw.acpi.cpu.cx_history: 1996/0 0/0 43011/82 This means I have 3 idle states. C1 = HLT (at index 0). The lowest is C3 (index 2). The cx_history is a summary of long/short sleeps for each supported state. The lower idle states use less power but also add more latency so you will probably see some decrease in IO benchmarks if you enable them. Please test this to be sure that it boots ok on your machine, especially SMP boxes. Throttling should still work ok also. Thanks, Nate ---------- Forwarded message ---------- Date: Sat, 15 Nov 2003 11:26:41 -0800 (PST) njl 2003/11/15 11:26:06 PST FreeBSD src repository Modified files: sys/dev/acpica acpi_cpu.c share/man/man4 acpi.4 sys/conf files sys/modules/acpi Makefile Log: Implement Cx CPU idle states and updated throttling support. * Use the cpu_idle_hook() to do idling for C1-C3. * Use both _CST and the FADT to detect Cx states. * Use both _PTC and P_CNT for controlling throttling. * Add a notify handler to detect changes in _CST and _PSS * Call the _INI function for each processor if present. This will be done by ACPI-CA in the future. * Fix a bug on SMP systems where CPUs will attach multiple times if the bus is rescan. * Document new sysctls for controlling idling. Revision Changes Path 1.17 +25 -7 src/share/man/man4/acpi.4 1.853 +1 -0 src/sys/conf/files 1.19 +784 -162 src/sys/dev/acpica/acpi_cpu.c 1.32 +2 -1 src/sys/modules/acpi/Makefile