Re: Broken APIC on my laptop or bug in FreeBSD?

From: Giorgos Keramidas <keramida_at_ceid.upatras.gr>
Date: Sun, 20 Jul 2008 04:00:22 +0300
On Sat, 19 Jul 2008 20:36:22 -0400, "Alexandre \"Sunny\" Kovalenko" <gaijin.k_at_gmail.com> wrote:
> What I meant is that my laptop, runnig RELENG_7 is pretty happy with
> "C2" (set through /etc/rc.conf as performance_cx_lowest="C2", and even
> "C3" (set through /etc/sysctl.conf as dev.cpu.1.cx_lowest=C3), so long
> as cpu0 is not allowed to go into C3. You seemed to indicate that in
> your case nothing but "C1" worked. If you just did not try the
> configuration above, would you, please, try it and see if it works.
> Apart from, hopefully, giving someone the data point, it will make
> your laptop cooler and less power hungry.

Ah, now I get it :)

Well, I did try the following after booting with both CPUs in C1 state:

(1) hw.acpi.cpu.cx_lowest: C1
    dev.cpu.0.cx_lowest: C1
    dev.cpu.0.cx_lowest: C2

        I left the laptop to boot with both CPUs in C1, and then after a
        while I manually set dev.cpu.0.cx_lowest=C2.  This setup seems
        ok.  I can see processes being scheduled on both cpu.0 and cpu.1
        and there's no "freeze" when the laptop is idle.

(2) hw.acpi.cpu.cx_lowest: C1
    dev.cpu.0.cx_lowest: C1
    dev.cpu.0.cx_lowest: C3

        Same as above, only this time I set dev.cpu.0.cx_lowest=C3.

(3) hw.acpi.cpu.cx_lowest: C1
    dev.cpu.0.cx_lowest: C2
    dev.cpu.0.cx_lowest: C2

        Not ok.  When the laptop stays idle for some time, it starts
        getting too slow to type stuff in a terminal, and after a while
        I get `calcru: runtime went backwards' messages.

I don't know if being scheduled on cpu.1 when it is in C2/C3 state has
any measurable impact on user processes.  Should I leave the settings to
option (1) or (2) above for a while?  Is there any way to find out if
this causes any problems?

Right now I am running for a couple of minutes with

  $ sysctl -a | fgrep .cx_
  hw.acpi.cpu.cx_lowest: C1
  dev.cpu.0.cx_supported: C1/1 C2/1 C3/57
  dev.cpu.0.cx_lowest: C1
  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_lowest: C2
  dev.cpu.1.cx_usage: 0.00% 100.00% 0.00%

and things seem ok so far :-)

Thank you for all the help.  It's been _very_ useful :)

> Few more data points:
> -- CPU0 and CPU1 are somehow not treated interchangeably by FreeBSD.
> -- at some point when earth was warm and 7.0 was CURRENT, "C3" used to
> work on my laptop, even on CPU0.
> -- I have not filed a PR. If you think it is warranted, you could do it
> or I can -- it's just I did a couple of embarrassing ones and got
> somewhat trigger-shy ;)

Heh.  I've filed my own share of bogus PRs too.  Please don't feel shy,
and just report whatever seems out of the ordinary.  It's better to have
a few extra PRs that are not really bugs, than never-fixed bugs :)
Received on Sat Jul 19 2008 - 23:00:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:33 UTC