以下を使用して、 Android環境内でFTraceファイルを生成しようとしています。
root@adroid:# echo 1 > /sys/kernel/debug/tracing/events/sched/sched_switch/enable
root@adroid:# echo 1 > /sys/kernel/debug/tracing/tracing_on
root@adroid:# cat /sys/kernel/debug/tracing/trace > mytracefile.txt
root@adroid:# echo 0 > /sys/kernel/debug/tracing/tracing_on
root@adroid:# echo 0 > /sys/kernel/debug/tracing/events/sched/sched_switch/enable
問題は、mytracefile.txtのタイム スタンプの精度がミリ秒単位であることです。
<idle>-0 [000] d.h7 14186.690000: sched_wakeup: comm=tfm_b6bcf800 pid=1714 prio=35 success=1 target_cpu=000
<idle>-0 [000] d..3 14186.690000: sched_switch: prev_comm=swapper/0 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=tfm_b6bcf800 next_pid=1714 next_prio=35
tfm_b6bcf800-1714 [000] d..3 14186.690000: sched_switch: prev_comm=tfm_b6bcf800 prev_pid=1714 prev_prio=35 prev_state=D|W ==> next_comm=swapper/0 next_pid=0 next_prio=120
<idle>-0 [001] d.h3 14186.690000: sched_wakeup: comm=Player Aud Mixe pid=146 prio=35 success=1 target_cpu=001
<idle>-0 [001] d..3 14186.690000: sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=Player Aud Mixe next_pid=146 next_prio=35
Player Aud Mixe-146 [001] d..3 14186.690000: sched_switch: prev_comm=Player Aud Mixe prev_pid=146 prev_prio=35 prev_state=D ==> next_comm=swapper/1 next_pid=0 next_prio=120
<idle>-0 [001] d.h3 14186.690000: sched_wakeup: comm=Player Aud Mixe pid=146 prio=35 success=1 target_cpu=001
<idle>-0 [001] d..3 14186.690000: sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=Player Aud Mixe next_pid=146 next_prio=35
Player Aud Mixe-146 [001] d..3 14186.690000: sched_switch: prev_comm=Player Aud Mixe prev_pid=146 prev_prio=35 prev_state=S ==> next_comm=swapper/1 next_pid=0 next_prio=120
<idle>-0 [001] d.h3 14186.700000: sched_wakeup: comm=Player Aud Mixe pid=146 prio=35 success=1 target_cpu=001
<idle>-0 [001] d..3 14186.700000: sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=Player Aud Mixe next_pid=146 next_prio=35
通常、14186.690000ではなく 14186.691234 のように、マイクロ秒単位である必要があります。
私が持っている他のすべてのtrace_clock オプション( local、global、および counter )は既にテストしましたが、結果は常に同じです。そのパラメーターを変更しても、出力ファイルは何も変更されません。
FTrace のドキュメントに注意深く従いましたが、構成で他に何を変更すればよいかわかりません。
インターネットで検索すると、このバグレポートしか見つかりませんでしたが、解決されませんでした: http://lists.linaro.org/pipermail/linaro-dev/2011-February/002720.html
何かアドバイスはありますか?
インストールする必要があるカーネルに追加のモジュールはありますか?
アップデート:
- Android バージョン: 4.2.2
- カーネル Linux バージョン: 3.4.7
dmesg出力もミリ秒の精度を示しています。
<4>[ 38.130000] oom_adj 0 => oom_score_adj 0
<4>[ 38.130000] oom_adj 1 => oom_score_adj 58
<4>[ 38.140000] oom_adj 2 => oom_score_adj 117
<4>[ 38.140000] oom_adj 4 => oom_score_adj 235
<4>[ 38.150000] oom_adj 9 => oom_score_adj 529
<4>[ 38.150000] oom_adj 15 => oom_score_adj 1000
ありがとうございました、