Re: [acpi-jp 2870] ACPI throttling changes

From: Lukas Ertl <l.ertl_at_univie.ac.at>
Date: Fri, 12 Dec 2003 12:27:59 +0100 (CET)
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
> _at__at_ -780,7 +780,7 _at__at_
>  	/* 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/
Received on Fri Dec 12 2003 - 02:28:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:33 UTC