Я пытаюсь использовать perf version 3.0.8
для профилирования моей встроенной системы Linux kernel version 3.0.8
.
Я кросс-компилировал tools/perf, используя zlib и elfutils.
Чтобы ознакомиться с этим инструментом, я использую простой пример быстрой сортировки, скомпилированный с использованием опции -g
.
Я запускаю perf record -F 99 -g -- ./qsort
(скопировано из примера), а затем perf report --stdio
, чтобы увидеть результаты своего профиля.
Это снимок вывода perf report -g --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
Как видите, трассировки вызовов нет вообще. Мне действительно интересно глубоко изучить мою систему, и без трассировки вызовов эти результаты бесполезны.
-g
я могу читать и использовать результаты анализа производительности. 27.07.2016