不断の日記 (の体裁をした覚え書き) です。
2005-04-04 (Mon) [長年日記]
■ CentOS 4.0 > LaVie MX LX60T/6S1EC で longrun を使用する
AC アダプタ接続の有無で performance/economy モードの切り替えをさせようと、イロイロ見ながら設定。
dev/cpu/0/msr & /dev/cpu/0/cpuid
longrun を使用するには /dev/cpu/0/msr と /dev/cpu/0/cpuid を用意しておく必要があるということで、
$ cd /dev $ sudo ./MAKEDEV cpu
として /dev/cpu/* を作成。 ところが、システムを再起動すると消えてしまう。 そこで、以下の手順でデバイスファイルを作成。
$ sudo mkdir /etc/udev/devices/cpu $ sudo mkdir /etc/udev/devices/cpu/0 $ sudo mknod /etc/udev/devices/cpu/0/msr c 202 0 $ sudo mknod /etc/udev/devices/cpu/0/cpuid c 203 0
…あ、ひょっとすると、
$ cd /dev $ sudo ./MAKEDEV cpu $ sudo cp -a ./cpu /etc/udev/devices
でも良かったかも。 (未確認)
/etc/modprobe.conf
以下の内容を追記。
alias char-major-202 msr alias char-major-203 cpuid
/etc/acpi/actions/ac_adapter.sh
以下の内容で新規に作成。
#!/bin/sh set $* case "$1" in ac_adapter) cat /proc/acpi/ac_adapter/ADP/state | grep on-line > /dev/null if [ "$?" = "0" ] ; then /usr/sbin/longrun -s 0 100 /usr/sbin/longrun -f performance else /usr/sbin/longrun -s 0 33 /usr/sbin/longrun -f economy fi ;; *) logger "ACPI group $1 is not defined" ;; esac
/etc/acpi/events/ac_adapter.conf
以下の内容で新規に作成。
event=ac_adapter *.* action=/etc/acpi/actions/ac_adapter.sh "%e"
/etc/rc.d/rc.local
以下の内容を追記。
cat /proc/acpi/ac_adapter/ADP/state | grep on-line > /dev/null if [ "$?" = "0" ] ; then /usr/sbin/longrun -s 0 100 /usr/sbin/longrun -f performance else /usr/sbin/longrun -s 0 33 /usr/sbin/longrun -f economy fi
結果
設定が終わったら、システムをリブート。
AC アダプタ接続の有無で、 longrun -p の出力が変わっていることは確認できるのだが、処理速度が変化している感覚がこれっぽちもない。 いずれの場合も、
$ sudo grep "cpu MHz" /proc/cpuinfo
の出力は約 600 MHz と変化なし。 前述の設定をすることで、 performance モードと economy モードとでは、 CPU の上限動作周波数が変化するものと思っていたのだが、何か勘違いしているのだろうか?(^^;;;
ちなみに、 longrun -l の出力を確認しようとすると、 /dev/cpu/0/msr が読めないというエラーを吐いてしまう。 当該デバイスファイルには root が読み書きできるパーミッションを与えているのだが…。
また、 msr と cpuid をモジュールではなく組み込みにして、 Crusoe 向けにカーネルを最適化してやれば、ひょっとしたら状況が変わるかもしれないと思い、カーネルを再構築してみたのだが、状況は変わらず。
そういえば、うちの LaVie にはシステムブートの際、 cpuspeed が /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed が見つからないというエラーを吐いて起動に失敗するという問題があるんだよなぁ…。 ひょっとして、今回の件と何か関係あったりするのかな?(~_~;;
実際に処理速度が変化しているかどうかは謎だが、 「AC アダプタ接続の有無で performance/economy モードの切り替えをさせる」 目的は達したので、今日のところは、とりあえず OK ということにしておこう(苦笑)
情報源/参考情報
- Libretto ってどこまでやれる?
- LibrettoL1 に Fedora Core 3
- acpid
- /etc/acpi/actions/acpi.sh
- /etc/acpi/events/acpi.conf
- /etc/rc.d/rc.local
- acpid
- LibrettoL1 に Fedora Core 3
- ファイル置き場
- index
- Slackware-9.0 を日常的に使うためのメモ
- LongRun と LTX
- カーネルモジュール
- LongRun と LTX
- Slackware-9.0 を日常的に使うためのメモ
PSP「プレイステーション・ポータブル」 ピアノ・ブラック(PSP-3000PB)
モンスターハンター ポータブル 2nd G - PSP the Best