ハイバネートから復帰後、CPU使用率が100%に固定される

http://d.hatena.ne.jp/tksmashiw/20080225の続き
この記事を読む前に試験運用中なLinux備忘録さんの所の動的にCPUクロックや電圧を変更するcpufreqの概要とcpufreqdデーモンについてを読んでおく事をお薦めする。
手元のVostro1400で、ハイバネートから復帰後CPU使用率が100%に固定される現象が起きている。
このとき、cpufreq-infoコマンドでCPUの状態を調べてみるとgovernorがpeformanceになっている。そこで復帰後cpufreq-set -g ondemandを実行したところ、問題なくCPU使用率が変動するようになった。ハイバネートから復帰後、毎回コマンドを打ち込むのは面倒なので、シェルスクリプトにして自動的に実行するようにしておく。
/etc/pm/sleep.d/06cpuset_governorというファイルを作り、以下の内容を書き込む。(06の部分は94より小さい数字であれば何でも良いと思われる。)

#!/bin/bash

. /usr/lib/pm-utils/functions

case "$1" in
	thaw)
		/usr/bin/cpufreq-set -g ondemand
		;;
	*)
		;;
esac

exit $?

忘れずに実行可能属性を付けておく。


# []chmod a+x /etc/pm/sleep.d/06cpuset_governor[]

2/29追記

うまく動かないので、/var/log/pm-suspend.logを確認すると、

/usr/lib/pm-utils/functions: 88: Syntax error: "(" unexpected (expecting "fi")

と出力されていた。". /usr/lib/pm-utils/functions"の行を削除するか、"#!/bin/sh"を"#!/bin/bash"に修正するとうまく働く。ここでは後々修正する可能性を考えて後者を選んだ。

2008/04/03追記

/usr/lib/pm-utils/sleep.d/94cpufreqが修正されたので、このスクリプトは必要がなくなった。