Broken APIC on my laptop or bug in FreeBSD?
Giorgos Keramidas
keramida at ceid.upatras.gr
Sat Jul 19 23:57:43 UTC 2008
On Sat, 19 Jul 2008 18:57:10 -0400, "Alexandre \"Sunny\" Kovalenko" <gaijin.k at 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 at 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).
More information about the freebsd-current
mailing list