Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Nov 2003 12:24:06 -0800 (PST)
From:      Nate Lawson <nate@root.org>
To:        current@freebsd.org
Cc:        acpi-jp@jp.freebsd.org
Subject:   Re: cvs commit: src/sys/dev/acpica acpi_cpu.c src/share/man/man4   acpi.4 src/sys/conf files src/sys/modules/acpi Makefile
Message-ID:  <20031115121418.U54473@root.org>

next in thread | raw e-mail | index | archive | help
The default value of this driver is to use C1 (HLT), which is equivalent
to previous behavior.  To use lower idle states, set hw.acpi.cpu.cx_lowest
to the index of the desired state.  See sysctl hw.acpi.cpu output to get
an idea of the values.  Here is the result on my IBM T23:

hw.acpi.cpu.cx_supported: C1/0 C2/84 C3/120
hw.acpi.cpu.cx_lowest: 2
hw.acpi.cpu.cx_history: 1996/0 0/0 43011/82

This means I have 3 idle states.  C1 = HLT (at index 0).  The lowest is C3
(index 2).  The cx_history is a summary of long/short sleeps for each
supported state.  The lower idle states use less power but also add more
latency so you will probably see some decrease in IO benchmarks if you
enable them.

Please test this to be sure that it boots ok on your machine, especially
SMP boxes.  Throttling should still work ok also.

Thanks,
Nate

---------- Forwarded message ----------
Date: Sat, 15 Nov 2003 11:26:41 -0800 (PST)

njl         2003/11/15 11:26:06 PST

  FreeBSD src repository

  Modified files:
    sys/dev/acpica       acpi_cpu.c
    share/man/man4       acpi.4
    sys/conf             files
    sys/modules/acpi     Makefile
  Log:
  Implement Cx CPU idle states and updated throttling support.

  * Use the cpu_idle_hook() to do idling for C1-C3.
  * Use both _CST and the FADT to detect Cx states.
  * Use both _PTC and P_CNT for controlling throttling.
  * Add a notify handler to detect changes in _CST and _PSS
  * Call the _INI function for each processor if present.  This will be
    done by ACPI-CA in the future.
  * Fix a bug on SMP systems where CPUs will attach multiple times if the
    bus is rescan.
  * Document new sysctls for controlling idling.

  Revision  Changes    Path
  1.17      +25 -7     src/share/man/man4/acpi.4
  1.853     +1 -0      src/sys/conf/files
  1.19      +784 -162  src/sys/dev/acpica/acpi_cpu.c
  1.32      +2 -1      src/sys/modules/acpi/Makefile



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