[acpi-jp 2870] ACPI throttling changes
Lukas Ertl
l.ertl at univie.ac.at
Fri Dec 12 03:28:14 PST 2003
On Fri, 12 Dec 2003, Taku YAMAMOTO wrote:
> I think we need (CPU_MAX_SPEED-1) instead of CPU_MAX_SPEED when calculating
> mask value (in acpi_cpu_throttle_set()):
>
> --- src/sys/dev/acpica/acpi_cpu.c.orig Fri Nov 28 01:32:46 2003
> +++ src/sys/dev/acpica/acpi_cpu.c Sat Nov 29 20:41:28 2003
> @@ -780,7 +780,7 @@
> /* If we're at maximum speed, that's all */
> if (speed < CPU_MAX_SPEED) {
> /* Mask the old CLK_VAL off and or-in the new value */
> - clk_val = CPU_MAX_SPEED << cpu_duty_offset;
> + clk_val = (CPU_MAX_SPEED - 1) << cpu_duty_offset;
> p_cnt &= ~clk_val;
> p_cnt |= (speed << cpu_duty_offset);
With this modification I get the expected behaviour:
hw.acpi.cpu.current_speed=1
524288000 bytes transferred in 118.457954 secs (4425942 bytes/sec)
hw.acpi.cpu.current_speed=2
524288000 bytes transferred in 48.716290 secs (10762067 bytes/sec)
hw.acpi.cpu.current_speed=3
524288000 bytes transferred in 30.422634 secs (17233485 bytes/sec)
hw.acpi.cpu.current_speed=4
524288000 bytes transferred in 22.128364 secs (23693030 bytes/sec)
hw.acpi.cpu.current_speed=5
524288000 bytes transferred in 17.354562 secs (30210385 bytes/sec)
hw.acpi.cpu.current_speed=6
524288000 bytes transferred in 14.346382 secs (36544963 bytes/sec)
hw.acpi.cpu.current_speed=7
524288000 bytes transferred in 12.192028 secs (43002526 bytes/sec)
hw.acpi.cpu.current_speed=8
524288000 bytes transferred in 10.119496 secs (51809695 bytes/sec)
regards,
le
--
Lukas Ertl eMail: l.ertl at univie.ac.at
UNIX Systemadministrator Tel.: (+43 1) 4277-14073
Vienna University Computer Center Fax.: (+43 1) 4277-9140
University of Vienna http://mailbox.univie.ac.at/~le/
More information about the freebsd-current
mailing list