Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: How to automatically set "Intel(R) On Demand Clock Modulation" ?



>On Mon, Aug 11, 2008 at 11:58:30PM +0200, Joerg Sonnenberger wrote:
>> On Mon, Aug 11, 2008 at 11:54:29PM +0200, Joel CARNAT wrote:
>> > Is there a daemon that sets the value for machdep.clockmod.target
>> > according to the CPU idle state (like sysutils/estd does with
>> > machdep.est.frequency.target) or some automatical way to do it ?
>>
>> No. Given that I can't find a measurable result for newer CPUs, I'm not
>> even sure if it is worth to have that at all.
>
>Newer CPU's are beside te point; they can and should use estd instead.
>The ones which can't are interested in clockmod.
>

Well... I know nothing about CPU but I noticed that, on both my Eee PC
(Intel(R) Celeron(R) M processor 900MHz) and my Dell laptop (Intel(R)
Core(TM)2 CPU U7600), the lowest this value was, the slowest were
(transparent) rxvt-unicode and firefox behaving ; especially to render
things on screen.

When the value is set to 4 (over 7), those apps look like they behave at
normal speed.

On my Eee PC, I just ran a few "sysctl -w machdep.clockmod.target=X &&
openssl speed 4096/1024" and it seems the CPU calculates slowly when
clockmod is low (see attachement). I have no idea though if that proves
anything at all.

My aim is to tune NetBSD so that my Eee PC runs as cool as possible.
Running Windows XP, the temperature is kept around 55°C. When running
NetBSD it's kept around 60°C. But the Windows utility (eeetray I think)
claims to slow the CPU to 70% of it's original speed most of the time.
With Ubuntu 8.04, the temperature varied in this range (50/63 °C) but I
had to manually load the p4_clockmod module, so I may not have optimized
the configuration. Running OpenBSD didn't gave me temperature informations
but when running `apmd -C`, sysctl shows (hw.cpuspeed=75 ; hw.setperf=0).
And those value get higher with CPU usage and back down when idleing.

I thought I could write/run a shell script that would check CPU idle
percentage and change machdep.clockmod.target but I fear that it would not
be real-time behaving enough.

Regards,
   Jo
Mon Aug 11 22:22:38 UTC 2008
machdep.clockmod.target: 0 -> 0
                  sign    verify    sign/s verify/s
rsa 4096 bits 1.828333s 0.028424s      0.5     35.2

Mon Aug 11 22:23:15 UTC 2008
machdep.clockmod.target: 0 -> 7
                  sign    verify    sign/s verify/s
rsa 4096 bits 0.303333s 0.004702s      3.3    212.7

Mon Aug 11 22:24:26 UTC 2008
machdep.clockmod.target: 7 -> 0
                  sign    verify    sign/s verify/s
rsa 4096 bits 1.826667s 0.028457s      0.5     35.1

Mon Aug 11 22:25:32 UTC 2008
machdep.clockmod.target: 0 -> 7
                  sign    verify    sign/s verify/s
rsa 4096 bits 0.303636s 0.004695s      3.3    213.0

Mon Aug 11 22:26:14 UTC 2008
machdep.clockmod.target: 7 -> 4
                  sign    verify    sign/s verify/s
rsa 4096 bits 0.498000s 0.007756s      2.0    128.9

Mon Aug 11 22:26:53 UTC 2008
machdep.clockmod.target: 4 -> 0
                  sign    verify    sign/s verify/s
rsa 1024 bits 0.048719s 0.002818s     20.5    354.9

Mon Aug 11 22:27:24 UTC 2008
machdep.clockmod.target: 0 -> 7
                  sign    verify    sign/s verify/s
rsa 1024 bits 0.008035s 0.000462s    124.4   2166.8

Mon Aug 11 22:29:07 UTC 2008
machdep.clockmod.target: 7 -> 0
                  sign    verify    sign/s verify/s
rsa 1024 bits 0.049064s 0.002799s     20.4    357.2

Mon Aug 11 22:30:18 UTC 2008
machdep.clockmod.target: 0 -> 7
                  sign    verify    sign/s verify/s
rsa 1024 bits 0.008055s 0.000461s    124.2   2171.5

Mon Aug 11 22:33:04 UTC 2008
machdep.clockmod.target: 7 -> 4
                  sign    verify    sign/s verify/s
rsa 1024 bits 0.013293s 0.000761s     75.2   1314.8


Home | Main Index | Thread Index | Old Index