Pandaboard ES (OMAP4460、1.2 GHz の ARM Cortex A9) でいくつかの測定を実行して、CPU 周波数の変更にかかる時間を確認しました。3.0.8 カーネルで Android 4.0.3 を実行しています。関数の入り口と出口で GPIO ピンをトグルするようにomap_cpufreq_scale()
関数を変更し、オシロスコープで時間を測定しました。omap2plus-cpufreq.c
測定されたスイッチング時間は、 と の間3.9ms
で4.5ms
変化します。
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency
300000ns
となるレポート0.3 ms
。なぜこんなに大きな違いがあるのか 誰か知っていますか?transition_latencies は通常どのように決定されますか?
データシートにタイミング値が見つかりませんでした。
アップデート:
修正されたカーネル モジュールに小さなバグが見つかりました。測定された実行時間は、元の周波数と選択した周波数に応じて、 ~の範囲に268µs
あります。1210µs