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