Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Feb 2008 23:31:06 +0200
From:      Andriy Gapon <avg@icyb.net.ua>
To:        Bengt Ahlgren <bengta@sics.se>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: cx_lowest and CPU usage
Message-ID:  <47B4B31A.4020605@icyb.net.ua>
In-Reply-To: <47B4A103.7040801@icyb.net.ua>
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> <uh7bq6jcveu.fsf@P142.sics.se> <47B4A103.7040801@icyb.net.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
on 14/02/2008 22:13 Andriy Gapon said the following:
> on 14/02/2008 19:14 Bengt Ahlgren said the following:
>> Andriy Gapon <avg@icyb.net.ua> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47B4B31A.4020605>