Xperia SX にCPUガバナを追加して、smartassV2を選んでいるというのは、前回書きました。そのエントリでは、スクリーンOFF時はconservativeにしていると書きましたが、スクリーンOFF時もsmartassV2にしてみました。そしたら、なかなか良い感じでした。そこでSetCPUを使うのをやめて、常にsmartassV2を使うように設定しました。

SetCPUはIS01の頃に購入してからずっと使っていますが、Xperia SX ではオーバークロックカーネルも無いので、ダウンクロックとかする必要も無いのかな、と。それよりもプロファイルを設定することで常駐するのが逆にバッテリに優しくないのかも、と思いました。実際にはそんなこと無いかもしれませんが、いつかのバージョンアップから、頻繁にSuperuserのメッセージが出るようになったので、常駐して何かを監視してるのは間違い無いとおもいます。

SetCPUが無い状態で再起動すると、ガバナは ondemand、I-Oスケジューラは deadline になります。

これを起動時に smartassV2 になるようにしてやります。

init.d に 03setcpu という名前で以下のスクリプトを設置しました。

[php]
echo smartassV2 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo vr > /sys/block/mmcblk0/queue/scheduler
echo vr > /sys/block/mmcblk1/queue/scheduler
[/php]

I-Oスケジューラは sio から vr に変更しました。しかし、この状態で再起動するとI-Oスケジューラは vr になってくれましたが、ガバナは ondemand のままです。

更に色々調べていると、/system/etc/init.qcom.post_boot.sh というシェルスクリプトで ondemand に設定していることが判りました。

そこで、init.qcom.post_boot.shの最終行に

[php]
echo smartassV2 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
[/php]

を追加しました。これで再起動時に、ガバナは smartassV2 に、I-Oスケジューラは vr になってくれました。

実際に使ってみてバッテリの減りが大きいようだと、またSetCPUを復活させようと思います。