From owner-freebsd-users-jp@FreeBSD.ORG Mon Jul 7 15:24:18 2014 Return-Path: Delivered-To: freebsd-users-jp@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8334F76E for ; Mon, 7 Jul 2014 15:24:18 +0000 (UTC) Received: from mail.mahoroba.org (ent.mahoroba.org [IPv6:2001:2f0:104:8010::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "asuka.mahoroba.org", Issuer "ca.mahoroba.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 766CD212F for ; Mon, 7 Jul 2014 15:24:17 +0000 (UTC) Received: from yuga.mahoroba.org (ume@yuga.mahoroba.org [IPv6:2001:2f0:104:8010:7258:12ff:fe22:d94b]) (user=ume mech=DIGEST-MD5 bits=0) by mail.mahoroba.org (8.14.9/8.14.9) with ESMTP/inet6 id s67FO7dn005009 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Tue, 8 Jul 2014 00:24:08 +0900 (JST) (envelope-from ume@mahoroba.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mahoroba.org; s=20081103; t=1404746648; bh=EhJHXiFT6AMoMDhQqhnWToDzG4VjAlstE6WH5fLXL98=; h=Date:From:To:Subject:In-Reply-To:References; b=MWlgUH7Q9jN4AcwQHbVJPFX/EGkwSr9ScmL7sGOisWyhr2JnqNQPyBPxMpIjIYU8h iTCIZt8M8UlDVXyKs/lRm1yUHndMULSo0DDgERhsFD7JDBmD/ZKZgx7Zd81jTSwktv jTv3zSMQYlrhBeU5/CAqvyGOt9CfuDXkvE7tMJoM= Date: Tue, 08 Jul 2014 00:23:40 +0900 Message-ID: From: Hajimu UMEMOTO To: freebsd-users-jp@freebsd.org In-Reply-To: <20140707.023241.107935859.ka@flu.if0.org> References: <20140703.224248.250136926.ka@flu.if0.org> <20140706.214434.28800521.ka@flu.if0.org> <20140707.023241.107935859.ka@flu.if0.org> User-Agent: xcite1.60> Wanderlust/2.15.9 (Almost Unreal) Emacs/24.3 Mule/6.0 (HANACHIRUSATO) X-Operating-System: FreeBSD 9.3-PRERELEASE X-PGP-Key: http://www.mahoroba.org/~ume/publickey.asc X-PGP-Fingerprint: 1F00 0B9E 2164 70FC 6DC5 BF5F 04E9 F086 BF90 71FE MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=ISO-2022-JP X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mail.mahoroba.org [IPv6:2001:2f0:104:8010::1]); Tue, 08 Jul 2014 00:24:08 +0900 (JST) X-Virus-Scanned: clamav-milter 0.98.4 at asuka.mahoroba.org X-Virus-Status: Clean X-Spam-Status: No, score=-3.7 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RP_MATCHES_RCVD autolearn=ham autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on asuka.mahoroba.org Subject: [FreeBSD-users-jp 95230] Re: powerd with high frequency when idling X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Jul 2014 15:24:18 -0000 梅本です。 >>>>> On Mon, 07 Jul 2014 02:32:41 +0900 (JST) >>>>> Kazumaro Aoki said: ka> 今まで数年間以下に書くやりたいことが出来ていたのですが、何かのタイミン ka> グでうまくいかなくなったというようです。 夏場になってきて暑くなってきたからとか、ファンの調子が悪くなっていると か、エアフローが変わったとかではないですか? ka> やりたいこととしては、 ka> 1. CPUの温度が高くなり過ぎないようにCPUの動作周波数を調整したい ka> 2. CPUのidle時には動作周波数を落したい。もちろん、必要な時は動作周波数 ka> をあげたい。 ka> 上記1の優先順位を2より高く設定したいと考えています。 この要求はデザインに反しています。わざわざ、1 の優先順位を上げて実装し ています。 CPU 温度が高い状態は critical であり、高い優先度で確実に落とすため、 passive cooling を kernel で実装しています。この緊急時に userland から 介入されては困るのです。 ka> これまでは、sysctlで ka> hw.acpi.thermal.user_override=1 ka> hw.acpi.thermal.tz0._PSV=65C ka> hw.acpi.thermal.tz0._TC1=0 ka> hw.acpi.thermal.tz0._TC2=1 ka> hw.acpi.thermal.tz0._TSP=60 ka> hw.acpi.thermal.tz0.passive_cooling=1 ka> として、optionなしでpowerdを使っていたら上記内容が実現されていました。 passive cooling はそのような希望を叶えるためのものでは決してありません。 _PSV, _TC1, _TC2 _TSP の値は、本来 ACPI BIOS から得られるもの、つまり、 ベンダがそのハードに合わせた値です。これらの値は、変にいじると、 passive cooling が想定された動作をせず、熱暴走させる危険性があります。 元々、これらの値は read only でした。しかし、残念ながら、この値が適切で ないハードがあることも確認されており、それらを救済するために、やむなく 変更できるようにしているだけです。しかし、単に更新できるだけでは安易に 変更される危険性があるので、user_override を指定しなければ変更できない ようにしています。 ka> 現在では、loadが0でもpassive coolingが効いてpowerdによる周波数制御が効 ka> いてないということのようです。 powerd が idle を検知して freq を下げられるような状況で、passive cooling が動作していることがそもそも変です。 _PSV の値が低すぎるのではないでしょうか。 ka> powerd -M 800 ka> として、passive coolingが始まってしまう前にpowerdでCPUの温度が上がらな ka> いようにして動作周波数制御するしかないのかなぁと思い始めましたが、何か powerd は温度管理はやらないので、『powerdでCPUの温度が上がらないように して』という意味は分かりかねますが、passive cooling の動きとして、温度 が _PSV より下がれば、段階的に、passive cooling 動作開始時の freq にま で戻します。つまり、passive cooling では、元の freq より高くするような ことはしません。 -- 梅本 肇 http://www.mahoroba.org/~ume/ ume@mahoroba.org ume@{,jp.}FreeBSD.org プログラムは書いた人の意図ではなく書かれた通り動く I hate Modula-3 :-)