perf version 3.0.8
を使用して、埋め込みシステムのプロファイルを作成しますLinux kernel version 3.0.8
。PerfツールLinux - No Call-Graph
私はzlibとelfutilsを使ってツール/ perfをクロスコンパイルしました。
このツールに慣れるために、-g
オプションを使用してコンパイルされた簡単なクイックソートの例を使用しています。
私はperf record -F 99 -g -- ./qsort
(この例からコピー)を実行してからperf report --stdio
を実行して、私のプロファイルの結果を表示します。あなたがすべてであり、トレースを呼び出すされていない見ることができるように
No kallsyms or vmlinux with build-id f41dfb5606beda1d75171db69f1e9466cb4868ba was found
[hi3518_dsu] with build id f41dfb5606beda1d75171db69f1e9466cb4868ba not found, continuing without symbols
No kallsyms or vmlinux with build-id a0f9a05faf6bcfb72282a03e048b47e8a8c0f2ec was found
[hi3518_tde] with build id a0f9a05faf6bcfb72282a03e048b47e8a8c0f2ec not found, continuing without symbols
# Events: 256 cpu-clock
#
# Overhead Command Shared Object Symbol
# ........ ....... ................. ......................
#
96.88% qsort qsort [.] partition
0.78% qsort [kernel.kallsyms] [k] __do_softirq
0.39% qsort [kernel.kallsyms] [k] __wake_up_sync_key
0.39% qsort [kernel.kallsyms] [k] get_page_from_freelist
0.39% qsort [kernel.kallsyms] [k] __memzero
0.39% qsort [kernel.kallsyms] [k] div_s64_rem
0.39% qsort [hi3518_tde] [k] 0x58
0.39% qsort [hi3518_dsu] [k] 0x8154
:
これはperf report -g --stdio
出力のスナップショットです。私は本当に私のシステムの深いところで勉強することに興味があり、コールトレースなしではこれらの結果は役に立たない。
すでに完了しています。それは動作しません。だから、私は別のボード(別のSoCと新しいカーネルバージョン)で試して、魔法のようにうまく動作します。明らかにこの問題は私の能力にある。おそらく私のカーネルバージョンは非常に古くなっているでしょう... '-g'オプションがなくても、私はパフォーマンス分析の結果を読み、使用することができます。 –