Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Jul 2008 02:57:27 +0300
From:      Giorgos Keramidas <keramida@ceid.upatras.gr>
To:        "Alexandre \"Sunny\" Kovalenko" <gaijin.k@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Broken APIC on my laptop or bug in FreeBSD?
Message-ID:  <87iqv1h1g8.fsf@kobe.laptop>
In-Reply-To: <1216508230.2172.8.camel@RabbitsDen> (Alexandre Kovalenko's message of "Sat, 19 Jul 2008 18:57:10 -0400")
References:  <87prpcjrsk.fsf@kobe.laptop> <1216501388.971.6.camel@RabbitsDen> <87mykd5wsl.fsf@kobe.laptop> <87tzelebd7.fsf@kobe.laptop> <1216508230.2172.8.camel@RabbitsDen>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 19 Jul 2008 18:57:10 -0400, "Alexandre \"Sunny\" Kovalenko" <gaijin.k@gmail.com> wrote:
> On Sun, 2008-07-20 at 01:51 +0300, Giorgos Keramidas wrote:
>> That was it.  Thanks!
>>
>>   # sysctl -a | egrep -e 'cx_(usage|support)'
>>   dev.cpu.0.cx_supported: C1/1 C2/1 C3/57
>>   dev.cpu.0.cx_usage: 100.00% 0.00% 0.00%
>>   dev.cpu.1.cx_supported: C1/1 C2/1 C3/57
>>   dev.cpu.1.cx_usage: 100.00% 0.00% 0.00%
>>
>> With anything except "C1" the CPU is obviously too slow to do
>> anything useful :-)
>
> I guess it got worse in CURRENT:
>
> # uname -a
> FreeBSD RabbitsDen.RabbitsLawn.verizon.net 7.0-STABLE FreeBSD 7.0-STABLE
> #0: Wed Jul  9 16:52:35 EDT 2008
> root@RabbitsDen.RabbitsLawn.verizon.net:/usr/obj/usr/src/sys/TPX60  i386
> RabbitsDen# sysctl -a | egrep -e 'cx_(usage|support)'
> dev.cpu.0.cx_supported: C1/1 C2/1 C3/57
> dev.cpu.0.cx_usage: 0.00% 100.00% 0.00%
> dev.cpu.1.cx_supported: C1/1 C2/1 C3/57
> dev.cpu.1.cx_usage: 0.00% 4.43% 95.56%

Now that I know what to look for, I see that what is reported in
cx_supported is an array from the `struct acpi_cpu_softc' for each cpu.
The initialization of per-cpu dev.cpu.*.cx_xxx values in the softc of
the cpu is done in sys/dev/acpica/acpi_cpu.c:acpi_cpu_cx_cst().

I am probably not qualified to say if 'things got worse' in CURRENT, but
I wish there was a way to find out *before* entering a state where the
CPU is too slow to do basic tasks (i.e. time keeping, and scheduling
processes).




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87iqv1h1g8.fsf>