From owner-freebsd-current@FreeBSD.ORG Tue Nov 18 13:28:09 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 BBC7316A4CE for ; Tue, 18 Nov 2003 13:28:09 -0800 (PST) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 5A89543FA3 for ; Tue, 18 Nov 2003 13:28:08 -0800 (PST) (envelope-from nate@rootlabs.com) Received: (qmail 65170 invoked by uid 1000); 18 Nov 2003 21:28:09 -0000 Date: Tue, 18 Nov 2003 13:28:09 -0800 (PST) From: Nate Lawson To: Lukas Ertl In-Reply-To: <20031118221008.U621@korben.in.tern> Message-ID: <20031118131708.C64933@root.org> References: <20031118094821.T64353@root.org> <20031118221008.U621@korben.in.tern> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: truckman@freebsd.org cc: current@freebsd.org Subject: Re: Updated acpi_cpu patch 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: Tue, 18 Nov 2003 21:28:09 -0000 On Tue, 18 Nov 2003, Lukas Ertl wrote: > On Tue, 18 Nov 2003, Nate Lawson wrote: > > Below you'll find the update patch for acpi_cpu. Please test this, > > especially for SMP and laptops with _CST objects in their ASL. > > Looks good here on a Centrino based laptop, which has a _CST method in > its ASL: > > acpi_cpu0: on acpi0 > acpi_cpu0: C2 state 1 lat > acpi_cpu0: C3 state 85 lat I'll be moving some printfs under bootverbose before release. > hw.acpi.cpu.cx_supported: C1/1 C2/1 C3/85 > hw.acpi.cpu.cx_lowest: 0 > hw.acpi.cpu.cx_history: 86231/0 0/0 0/0 Try settings of cx_lowest of 1 and 2 (and 3 when the last C3 state is available). I'm interested in any benchmark results, especially IO. I'm hoping the scheduling of sleeps is good enough that you don't experience much performance loss even with lower sleeps. > Although it seems I have lost a C3 state (before, I had an additional > C3/185). _CST can change dynamically at runtime. If you booted with the AC adapter attached, your laptop may not offer all the sleep states. When you unplug the AC adapter, we get a notify on _CST to re-evaluate it and look for new states. However, that code is currently disabled due to complex locking issues (i.e. what to do when a Cx state is being accessed but _CST is being re-evaluated). _CST re-evaluation won't be enabled until after 5.2R. However, you can reboot your laptop with the AC adapter detached (or attached) to see what states are available. This excerpt from truckman@'s asl shows that 4 Cx states are only available when the AC adapter is not attached. (The C*NA memory addresses appear to be managed by the BIOS and not the AML but the PSR access is clear). Method (_CST, 0, NotSerialized) { If (\C2NA) { Return (CST1) } If (\C3NA) { Return (CST2) } If (\_SB.PCI0.LPC.EC.AC._PSR ()) { Return (CST3) } If (\C4NA) { Return (CST3) } Return (CST4) } -Nate