Updated acpi_cpu patch

Nate Lawson nate at root.org
Wed Nov 26 12:51:33 PST 2003

On Fri, 21 Nov 2003, Lukas Ertl wrote:
> On Fri, 21 Nov 2003, Nate Lawson wrote:
> > > > On Tue, 18 Nov 2003, Lukas Ertl wrote:
> > > > > I'm gonna try some "buildkernelstones" with the different settings.  If
> > > > > you have some special benchmarks in mind I'd be happy to run them.
> > > >
> > > > That's probably ok.  It has a lot of IO.
> > >
> > > Now I've tried running make buildkernel and tarring /usr/src to a
> > > different location, with different setting for hw.acpi.cpu.cx_lowest.  I
> > > couldn't see any real difference - neither in performance nor in heat
> > > emission.
> >
> > Well, heat emission will be high during benchmarks because the CPU is
> > rarely idle.  My fan always comes on my laptop during buildworld.  But the
> > difference is when it's mostly idle (checking email, web browsing).  With
> > machdep.cpu_idle_hlt=0, the fan is always on even when the box is sitting
> > there.  With cpu_idle_hlt=0 and cx_lowest=0 (C1), the fan goes off but the
> > box is still warm.  With cx_lowest=2 (C3, 120 us transition time), the box
> > is very cool but some IO gets a little slower (serial port).  But not
> > much.
> The problem is that the fan in this machine always kicks in after several
> minutes, and then stays on.  This is very annoying.

If you're testing C3 states, you have to disable USB in your kernel
config.  (I just load USB as modules since performance is not an issue and
I like to use C3 while on the road to get max power savings).

It's possible the fan is under BIOS control so make sure you have an
up-to-date bios.  If not, you should get a console printout when acpi
switches the fan on.  sysctl hw.acpi.thermal

> BTW, I'm having another ACPI question, do these figures here make sense?
> hw.acpi.thermal.tz0._PSV: 3627
> hw.acpi.thermal.tz0._CRT: 3662

They are valid, yes.

> If I understood the ACPI spec correctly, _PSV is the temperature where
> passive cooling actions begin, and _CRT is the critical temp, where the OS
> should initiate a shutdown.  First, _PSV seems to be way to high, and
> second, they are so close to each other.

You are correct.  _PSV is not currently implemented by FreeBSD but I hope
to do it at some point.  Once we have all methods of processor control
(cpufreq, Cx, and throttling), we can use them to implement _PSV.  In any
case, I think the _PSV value is set high because your platform designer
expects active cooling to be the most effective and passive, since it
slows down performance, is a last resort.


More information about the freebsd-current mailing list