From owner-freebsd-bugs@FreeBSD.ORG Sat May 13 12:20:12 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2B94C16A411 for ; Sat, 13 May 2006 12:20:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1D27643D4C for ; Sat, 13 May 2006 12:20:11 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k4DCKAKn078079 for ; Sat, 13 May 2006 12:20:10 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k4DCKAFG078078; Sat, 13 May 2006 12:20:10 GMT (envelope-from gnats) Resent-Date: Sat, 13 May 2006 12:20:10 GMT Resent-Message-Id: <200605131220.k4DCKAFG078078@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Julian Stecklina Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B4E2616A569 for ; Sat, 13 May 2006 12:13:33 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1376243D6E for ; Sat, 13 May 2006 12:13:33 +0000 (GMT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.13.1/8.13.1) with ESMTP id k4DCDWwi009234 for ; Sat, 13 May 2006 12:13:32 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.13.1/8.13.1/Submit) id k4DCDWeq009231; Sat, 13 May 2006 12:13:32 GMT (envelope-from nobody) Message-Id: <200605131213.k4DCDWeq009231@www.freebsd.org> Date: Sat, 13 May 2006 12:13:32 GMT From: Julian Stecklina To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Cc: Subject: misc/97198: powerd unable to reduce CPU frequency X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 May 2006 12:20:13 -0000 >Number: 97198 >Category: misc >Synopsis: powerd unable to reduce CPU frequency >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat May 13 12:20:10 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Julian Stecklina >Release: 6.1-RELEASE >Organization: >Environment: FreeBSD dellbeast.localhost 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Tue May 9 12:41:09 CEST 2006 blitz@dellbeast.localhost:/usr/obj/usr/src/sys/DELLBEAST i386 >Description: When I run powerd -v I get: # powerd -v idle time > 90%, decreasing clock speed from 1400 MHz to 1400 MHz idle time > 90%, decreasing clock speed from 1400 MHz to 1400 MHz idle time > 90%, decreasing clock speed from 1400 MHz to 1400 MHz .. This is caused by: > sysctl dev.cpu.0.freq_levels dev.cpu.0.freq_levels: 1400/21000 1400/21000 1400/21000 1400/21000 1225/18375 1200/17500 1050/15312 1000/14000 875/12250 800/10900 700/9537 600/7500 525/6562 450/5625 375/4687 300/3750 225/2812 150/1875 75/937 Here you see that the first frequency level is repeated multiple times. And because of the way powerd handles "downclocking" it will never reach any frequency level below 1400 MHz. This is on an Dell Inspiron 510m with Pentium-M 1,4GHz. >How-To-Repeat: powerd -v >Fix: More like a workaround: --- /usr/src/usr.sbin/powerd/powerd.c Sun Jan 15 18:50:37 2006 +++ powerd.c Sat May 13 14:00:06 2006 @@ -483,7 +483,7 @@ freqs[i]); } else if (idle > (total * cpu_idle_mark) / 100 && curfreq > freqs[numfreqs - 1]) { - i++; + while (curfreq == freqs[++i]) {}; if (vflag) { printf("idle time > %d%%, decreasing clock" " speed from %d MHz to %d MHz\n", >Release-Note: >Audit-Trail: >Unformatted: