From owner-freebsd-acpi@FreeBSD.ORG Sat Nov 22 01:34:19 2008 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B6F0106564A; Sat, 22 Nov 2008 01:34:19 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from sola.nimnet.asn.au (paqi.nimnet.asn.au [220.233.188.227]) by mx1.freebsd.org (Postfix) with ESMTP id E19AA8FC14; Sat, 22 Nov 2008 01:34:18 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from localhost (localhost [127.0.0.1]) by sola.nimnet.asn.au (8.14.2/8.14.2) with ESMTP id mAM1YBO1021761; Sat, 22 Nov 2008 12:34:12 +1100 (EST) (envelope-from smithi@nimnet.asn.au) Date: Sat, 22 Nov 2008 12:34:11 +1100 (EST) From: Ian Smith To: Kevin Oberman In-Reply-To: <20081121195714.CEE4B45010@ptavv.es.net> Message-ID: <20081122113015.B70117@sola.nimnet.asn.au> References: <20081121195714.CEE4B45010@ptavv.es.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: Alexander Motin , freebsd-acpi@freebsd.org, martinko , freebsd-mobile@freebsd.org Subject: Re: Is the C3 possible with SMP? X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Nov 2008 01:34:19 -0000 On Fri, 21 Nov 2008, Kevin Oberman wrote: > > From: martinko > > > > Alexandre "Sunny" Kovalenko wrote: > > > On Mon, 2008-11-03 at 00:06 +0200, Alexander Motin wrote: > > >> Alexandre "Sunny" Kovalenko wrote: > > >>>> I have tried to enable C3 state on my Core2Duo laptop and found that it > > >>>> is not working good. System HZ timer stops during CPU sleep. After some > > >>>> investigation I have found that it is due to LAPIC timer used for HZ > > >>>> stopped during C3 state (same as during AMD's C1E). > > >>>> > > >>>> So the question is: Is it possible (or planned) to make it work somehow? > > >>>> For example, by using some external timer instead of LAPIC's one? > > >>>> > > >>>> ACPI reports about 20% less idle power consumption with C3 state > > >>>> comparing to C2. It would be interesting to get additional half an hour > > >>>> on battery. > > >>>> > > >>> You can get half way there by adding > > >>> > > >>> dev.cpu.1.cx_lowest=C3 > > >>> > > >>> to /etc/sysctl.conf > > >> Thanks. > > >> > > >> 1. Looks like it does not kill the timer. > > >> 2. I haven't got any benefit from it in idle state. According to > > >> `acpiconf -i 0` I have about 13 Amps (IMHO more looks like Watts) with That'll be Watts, for sure. 13 Amps would be somewhere between ~120W and ~180W depending on the battery voltage, and 36 Amps (below) would be 400W or more .. handy, maybe, for cooking breakfast on your touchpad :) > > >> both C2 and this half-to-C3, but only 11 Amps in full C3 (but without > > >> timer). > > >> 3. I have got about 10% benefit (33 Amps against 36) when cpu0 is 100% > > >> busy while cpu1 is idle. > > >> > > > You would not happen to have USB loaded or built into kernel? If you do, > > > you will practically never go into C3. What does > > > > > > sysctl dev.cpu | grep cx_usage > > > > > > say? > > > > > > > Hi, > > > > My laptop reports C1 state only: > > > > $ sysctl -a | grep cx_ > > hw.acpi.cpu.cx_lowest: C1 > > dev.cpu.0.cx_supported: C1/1 > > dev.cpu.0.cx_lowest: C1 > > dev.cpu.0.cx_usage: 100.00% > > > > But this is Pentium-M and I remember it could use C2 and C3 back with > > 5.x kernel and I'm sure I had USB as I have now. > > > > Do you have any idea why I don't have C2/C3 states available anymore ?? > > Under 7-Stable, my Pentium-M system (ThinkPad T43) shows C1, C2, and > C3. Of course, it's not an SMP. > dev.cpu.0.cx_supported: C1/1 C2/1 C3/85 > dev.cpu.0.cx_lowest: C1 > dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% > > cx_supported has nothing to do with the value of cx_lowest. It should > simply be what the CPU reports back vi ACPI as to the C states supported > on the platform. Well, except that cx_supported shows the possible values for cx_lowest; ie you can only select a value for cx_lowest that's in cx_supported .. so it does seem odd that martinko's cx_supported has been limited to C1? Whether the system ever actually uses the cx_lowest value you select, other than C1, is another matter of course. My T23 (P3-M, 7.0-R) allows selection of C3, but only ever uses it if the machine was booted up on battery(!) but that might be a BIOS/EC bug that upgrading these may fix. cheers, Ian