From owner-freebsd-current@FreeBSD.ORG Fri Dec 12 11:43:05 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2BCE516A4CE for ; Fri, 12 Dec 2003 11:43:05 -0800 (PST) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 3861A43D35 for ; Fri, 12 Dec 2003 11:43:04 -0800 (PST) (envelope-from nate@rootlabs.com) Received: (qmail 53642 invoked by uid 1000); 12 Dec 2003 19:43:05 -0000 Date: Fri, 12 Dec 2003 11:43:05 -0800 (PST) From: Nate Lawson To: acpi-jp@jp.FreeBSD.org In-Reply-To: <20031212165954.20ee787f.taku@cent.saitama-u.ac.jp> Message-ID: <20031212114245.P53627@root.org> References: <20031209175230.I44055@root.org> <20031211141205.X50937@root.org> <20031212165954.20ee787f.taku@cent.saitama-u.ac.jp> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: freebsd-current@freebsd.org Subject: Re: [acpi-jp 2888] Re: ACPI throttling changes X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Dec 2003 19:43:05 -0000 On Fri, 12 Dec 2003, Taku YAMAMOTO wrote: > On Thu, 11 Dec 2003 23:07:42 -0600 > Ryan Sommers wrote: > > Here are my results from testing this patch. It appears as though the > > stepping "works" for the first step and not again. However, the first > > step shows a approx. 20% increase, I was expecting something closer to > > 12.5%. > > 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); Thanks, this was the problem. I've committed the fix. -Nate