Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Aug 2004 09:53:50 -0400
From:      Alan Gerber <agerber@ncsu.edu>
To:        freebsd-mobile <freebsd-mobile@freebsd.org>
Subject:   Re: Enhanced SpeedStep driver available
Message-ID:  <4133316E.4090108@ncsu.edu>
In-Reply-To: <1093872138.1503.1.camel@localhost>
References:  <6.1.0.6.1.20040816074348.03f99338@popserver.sfu.ca> <1093872138.1503.1.camel@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help
Vladimir Grebenschikov wrote:

>On Mon, 2004-08-16 at 08:06 -0700, Colin Percival wrote:
>  
>
>>  Thanks to everyone who has been sending me data about their
>>processors (and in particular, the 90nm versions), I now have
>>a first draft of a Enhanced SpeedStep driver available.  For
>>people with the appropriate processors (Pentium M only), this
>>makes it possible to adjust the cpu frequency via a new sysctl
>>(hw.est_curfreq), and have the cpu voltage adjusted at the
>>same time.
>>  I've also put together a very simple control daemon which
>>reads kern.cp_time every second and adjusts the cpu frequency
>>based on the fraction of cpu time which is idle.  This increases
>>my laptop's battery life by around 40%.
>>  All the code is online at
>>http://www.daemonology.net/freebsd-est/
>>  Assuming I don't hear any major bug reports in the next few
>>days, I'll package these into ports and hopefully get them into
>>the ports tree in time for 5.3-RELEASE.
>>    
>>
>
>Amazing, only issue, flood of speed changing messages in dmesg, please
>add:
>
>% cat /usr/ports/sysutils/est/files/patch-est.c-no-flood 
>--- est.c.orig  Mon Aug 30 16:53:43 2004
>+++ est.c       Mon Aug 30 16:54:38 2004
>@@ -505,8 +505,9 @@
>                if (f->mhz == 0)
>                        return (EOPNOTSUPP);
> 
>-               printf("Changing CPU frequency from %d MHz to %d MHz\n",
>-                       mhz, mhz_wanted);
>+               if (bootverbose)
>+                       printf("Changing CPU frequency from %d MHz to %d
>MHz\n",
>+                               mhz, mhz_wanted);
> 
>                msr = rdmsr(MSR_PERF_CTL);
>                msr = (msr & ~(uint64_t)(0xffff)) |
>
>%
>
>or like
>
>  
>
>>Colin Percival
>>    
>>
>
>  
>
I'd tend to agree.  It works beautifully on my Dell D600, and while I 
don't have any numbers, I have noticed improved runtime on my battery.  
The flood of messages to the console is the only thing I've found with 
this utility that I don't like.  Printing them in verbose mode is 
something I would deem as okay, but on a normal running system you can 
always use the OIDs that this driver puts into sysctl to get that info.

Thanks for the hard work in this area!

--
Alan Gerber




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