2014年1月28日火曜日

raspberry piのオーバークロック

オーバークロックってなんかギークな雰囲気でわくわくしますね。
ま、それほどの恩恵があるのかどうか。
デフォルトの設定は700MHzなんですが、yoctoのREADMEでは
1GHzが確認されてるとのこと。しかも、その設定でも補償対象ということで。
これぐらいの値段だと、修理に出すよりもう一つ買ってしまいかねない
のはやむをえないところか。
Readmeにはこんな風にかいてありますが、
ARM_FREQ = "1000"
CORE_FREQ = "500"
SDRAM_FREQ = "500"
OVER_VOLTAGE = "6"
実際のconfig.hの中ではみんな小文字で設定されています。
しかも、コメントのおかげで結構ばらばら。
root@raspberrypi:~# vi /media/mmcblk0p1/config.txt
...
arm_freq=1000
...
core_freq=500
...
sdram_freq=500
...
over_voltage=6
...
これでリブートすれば反映されます。
Normalの状態を見てみます。dmesgとsysfsから確認できます。
dmesgのログ
[    2.040588] bcm2835-cpufreq: min=700000 max=700000 cur=700000

root@raspberrypi:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
700000
んで、変更後はこんな感じになります。
[    2.040662] bcm2835-cpufreq: min=700000 max=1000000 cur=700000

root@raspberrypi:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
700000
root@raspberrypi:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
1000000
root@raspberrypi:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
700000
パッと見はこれで忙しくなれば自動的に1GHzまで上がってくれそうに見えますが、
cpufreqがどうやらきちんと動いていないように見えます。
nbenchの結果はまた別に掲載しますが、nbenchの結果を見ても
この状態では性能が上がっていません。
ということで、config.txtのパラメータで
force_turbo=1
を設定すると、nbenchの値もよくなりました。
その時のログの感じは下記の通りです。
[    1.918492] bcm2835-cpufreq: min=1000000 max=1000000 cur=1000000
cpuburnとか動かしてみるとはっきりするのかなぁ?
まぁ、やむをえないということで。
追記: どうやら、READMEにある内容は、その設定をlocal.confあたりに書けば、
rootfsのビルド時に、config.txtを自動的にアップデートしてくれるって
ことだったみたい。

つまり、
$ vi conf/local.conf
...
ARM_FREQ = "1000"
CORE_FREQ = "500"
SDRAM_FREQ = "500"
OVER_VOLTAGE = "6"
...
と書いてやって、bitbakeするっていうことでした。。。
ま、やってる内容は一緒なんだけどね。

0 件のコメント :

コメントを投稿