From owner-freebsd-acpi@FreeBSD.ORG Thu Feb 14 21:31:20 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 A136516A417 for ; Thu, 14 Feb 2008 21:31:20 +0000 (UTC) (envelope-from avg@icyb.net.ua) Received: from falcon.cybervisiontech.com (falcon.cybervisiontech.com [217.20.163.9]) by mx1.freebsd.org (Postfix) with ESMTP id 2F97B13C465 for ; Thu, 14 Feb 2008 21:31:20 +0000 (UTC) (envelope-from avg@icyb.net.ua) Received: from localhost (localhost [127.0.0.1]) by falcon.cybervisiontech.com (Postfix) with ESMTP id 2CEAB74400B; Thu, 14 Feb 2008 23:31:18 +0200 (EET) X-Virus-Scanned: Debian amavisd-new at falcon.cybervisiontech.com Received: from falcon.cybervisiontech.com ([127.0.0.1]) by localhost (falcon.cybervisiontech.com [127.0.0.1]) (amavisd-new, port 10027) with ESMTP id u3xOmDsIXRBM; Thu, 14 Feb 2008 23:31:18 +0200 (EET) Received: from [10.74.70.239] (unknown [193.138.145.53]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by falcon.cybervisiontech.com (Postfix) with ESMTP id 49EFE74400A; Thu, 14 Feb 2008 23:31:17 +0200 (EET) Message-ID: <47B4B31A.4020605@icyb.net.ua> Date: Thu, 14 Feb 2008 23:31:06 +0200 From: Andriy Gapon User-Agent: Thunderbird 2.0.0.9 (X11/20071208) MIME-Version: 1.0 To: Bengt Ahlgren References: <479F0ED4.9030709@icyb.net.ua> <479F62D9.6080703@root.org> <47A33CCB.3090902@icyb.net.ua> <47B0C10F.6000109@icyb.net.ua> <47B4103A.6090902@icyb.net.ua> <47B4A103.7040801@icyb.net.ua> In-Reply-To: <47B4A103.7040801@icyb.net.ua> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org Subject: Re: cx_lowest and CPU usage 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: Thu, 14 Feb 2008 21:31:20 -0000 on 14/02/2008 22:13 Andriy Gapon said the following: > on 14/02/2008 19:14 Bengt Ahlgren said the following: >> Andriy Gapon writes: >> >>> on 11/02/2008 23:41 Andriy Gapon said the following: >>>> on 01/02/2008 17:37 Andriy Gapon said the following: >>>>>> Andriy Gapon wrote: >>>>>>> Report for 7.0-RC1 on quite old hardware: 440BX-based motherboard, >>>>>>> 450Mhz Pentium III (Katmai). >>> [snip] >>>>>>> There is a weird thing: if I change cx_lowest to C2 when the machine is >>>>>>> completely idle, top shows that CPU usage for interrupts immediately >>>>>>> jumps to almost 20%. Change cx_lowest to C1, CPU usage drops back to >>>>>>> almost 0%. >>>>>>> Is this normal ? >>> [snip] >>> >>> I mis-reported the issue. Actually the above behavior occurs if I >>> throttle CPU 50% (via acpi throttling) and I am not concerned about this >>> at all. It seems that I was incorrect when I said that I was incorrect :-) This is surprising to myself, I made a configuration change since the first test. See below. >>> C2 has even stranger effects. >>> On almost idle system, with cx_lowest=C1, top reports about 0-2% user, >>> 0% nice, 0-2% system, 1-2% interrupt, 94-98% idle. >>> After changing cx_lowest to C2, I see the following: 0-2% user, 0% nice, >>> 0-2% system, 94-98% interrupt, 1-2% idle. [snip] >> With this slow CPU, a wakeup time of 90 from C2 could very well result >> in this much interupt time. It just barely manages to wake up, >> execute the clock interrupt and go to sleep again before the next >> clock interrupt. What if you reduce HZ? I ran a series of tests, repeating each twice to be sure that I didn't make any mistake. All tests were performed in single-user mode, so the system was as idle as possible, top reported idle as 99.N% - 100%. Then I set hw.acpi.cpu.cx_lowest=C2 and ran top again. Here's the results: GENERIC, SCHED_4BSD, default HZ=1000 ==> C2-interrupt 11-14% (!!) GENERIC, SCHED_4BSD, kern.hz="100" ==> C2-interrupt 99-100% customized kernel, SCHED_ULE, default HZ=1000 ==> C2-interrupt 99-100% customized kernel, SCHED_ULE, kern.hz="100" ==> C2-interrupt 99-100% The results are quite surprising to me and I don't have any idea how to interpret them. But they seem (at least to me) to support the guess that this is an issue of scheduling and statistics gathering. -- Andriy Gapon