ACPI throttling changes

Kevin Oberman oberman at es.net
Thu Dec 11 19:51:11 PST 2003


> Date: Tue, 9 Dec 2003 17:57:53 -0800 (PST)
> From: Nate Lawson <nate at root.org>
> Sender: owner-freebsd-current at freebsd.org
> 
> I'm working on a shared CPU frequency control driver.  One step is to
> remove some of the autonomy of the throttling portion of acpi_cpu.
> Please test this patch if you have a machine which supports throttling.
> With this patch, throttling can be changed by doing:
> 
>    sysctl hw.acpi.cpu.current_speed=X
> 
> where X is some number between 1 and hw.acpi.cpu.max_speed.  It is no
> longer driven by AC line transitions.  Run a CPU benchmark like this one
> to make sure the throttling transition still works with this patch.
> 
>     dd if=/dev/zero bs=1m count=500 | md5
> 
> This is part of a larger work.  Don't worry, it won't be committed until
> general CPU frequency control is done so no loss of functionality will be
> committed.

Nate,

My results are much like Lukas. I see no difference between 1 and
45 About 11.2 seconds. For 6 and 7 I see 7.8 seconds and for 8 I get
about 6.6 seconds.

I will append the results.
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net			Phone: +1 510 486-8634

hw.acpi.cpu.max_speed: 8
hw.acpi.cpu.current_speed: 8
hw.acpi.cpu.cx_supported: C1/0 C2/1 C3/85
hw.acpi.cpu.cx_lowest: 0
hw.acpi.cpu.cx_history: 25958/0 0/0 0/0
puppeteer# sysctl hw.acpi.cpu.current_speed=1
hw.acpi.cpu.current_speed: 5 -> 1
puppeteer# dd if=/dev/zero bs=1m count=500 | md5
500+0 records in
500+0 records out
524288000 bytes transferred in 11.202089 secs (46802699 bytes/sec)
d8b61b2c0025919d5321461045c8226f
puppeteer# sysctl hw.acpi.cpu.current_speed=5
hw.acpi.cpu.current_speed: 1 -> 5
puppeteer# dd if=/dev/zero bs=1m count=500 | md5
500+0 records in
500+0 records out
524288000 bytes transferred in 11.201044 secs (46807066 bytes/sec)
d8b61b2c0025919d5321461045c8226f
puppeteer# sysctl hw.acpi.cpu.current_speed=6
hw.acpi.cpu.current_speed: 5 -> 6
puppeteer# dd if=/dev/zero bs=1m count=500 | md5
500+0 records in
500+0 records out
524288000 bytes transferred in 7.854794 secs (66747517 bytes/sec)
d8b61b2c0025919d5321461045c8226f
puppeteer# dd if=/dev/zero bs=1m count=500 | md5
500+0 records in
500+0 records out
524288000 bytes transferred in 7.892137 secs (66431690 bytes/sec)
d8b61b2c0025919d5321461045c8226f
puppeteer# sysctl hw.acpi.cpu.current_speed=7
hw.acpi.cpu.current_speed: 6 -> 7
puppeteer# dd if=/dev/zero bs=1m count=500 | md5
500+0 records in
500+0 records out
524288000 bytes transferred in 7.861369 secs (66691692 bytes/sec)
d8b61b2c0025919d5321461045c8226f
puppeteer# dd if=/dev/zero bs=1m count=500 | md5
500+0 records in
500+0 records out
524288000 bytes transferred in 7.860654 secs (66697758 bytes/sec)
d8b61b2c0025919d5321461045c8226f
puppeteer# sysctl hw.acpi.cpu.current_speed=8
hw.acpi.cpu.current_speed: 7 -> 8
puppeteer# dd if=/dev/zero bs=1m count=500 | md5
500+0 records in
500+0 records out
524288000 bytes transferred in 6.581416 secs (79661884 bytes/sec)
d8b61b2c0025919d5321461045c8226f
puppeteer# dd if=/dev/zero bs=1m count=500 | md5
500+0 records in
500+0 records out
524288000 bytes transferred in 6.593236 secs (79519071 bytes/sec)
d8b61b2c0025919d5321461045c8226f
puppeteer# dd if=/dev/zero bs=1m count=500 | md5
500+0 records in
500+0 records out
524288000 bytes transferred in 6.571190 secs (79785853 bytes/sec)
d8b61b2c0025919d5321461045c8226f


More information about the freebsd-current mailing list