Heat problem with 4.11

Richard Tobin richard at inf.ed.ac.uk
Wed Feb 2 15:45:32 PST 2005

For a few years now I have used fvcool to put the CPU of my 1GHz
Athlon into power-saving mode.  To make it work, I had to follow the
instructions in the fvcool documentation and patch
/sys/i386/i386/swtch.s to have these instructions immediately before
calling hlt_vector:

	movl    $0x4014, %edx
	inb     %dx, %al

(The number 4014 is obtained from running "fvcool -v -e".)
This reduced the idle temperature of the CPU from about 68C to about 35C.

Unfortunately this patch no longer seems to do the trick in 4.11.  The
temperature is stuck at about 68C.  Surprisingly, using fvcool -i
(which sits in the background at low priority executing the inb
instruction every 30uS) does work.

The code around the call to hlt_vector has changed a little since
4.10; it has this instruction before the call:

      movl   $0, lapic_tpr    	     	 /* 1st candidate for an INT */

and a cli immediately after hlt_vector returns.

Can anyone tell me what I need to change to make this work again?

-- Richard

More information about the freebsd-questions mailing list