Существует некоторая информация в «Тайнах функции индикаторного Ftrace» статьи, 20 января 2010 Стивен Rostedt: https://lwn.net/Articles/370423/
Список функций, которые могут быть добавлены к файлам фильтров показан в available_filter_functions
файл. Этот список функций был получен из списка сохраненных ранее вызывавших абонентов mcount
.
Набор функций, перечисленных в файле зависит от параметров ядра компиляции (пожалуйста, проверьте их в/загрузки/конфигурации * или в /proc/config.gz и добавить результат на вопрос):
CONFIG_FUNCTION_TRACER
CONFIG_DYNAMIC_FTRACE
CONFIG_FUNCTION_GRAPH_TRACER
Существует более подробную информацию о mcount в предыдущей статье из серии: https://lwn.net/Articles/365835/ Отладка ядра с помощью Ftrace - часть 1, декабрь 2009, Стивен Rostedt:
Один из самых мощных трассеры Ftrace функция индикаторного. Он использует опцию -pg gcc, чтобы каждая функция в ядре вызывала специальную функцию «mcount()». Когда конфигурация CONFIG_DYNAMIC_FTRACE сконфигурирована, вызов преобразуется в NOP во время загрузки, чтобы система работала со скоростью 100%. Во время компиляции записываются сайты вызовов mcount().
Вы также можете проверить файлы в/sys/kernel/debug/tracing/events/syscalls/sys_enter_perf_event_open /?
системные вызовы доступны ftrace не как функции, но, как события (например, из opensourceforu.com/2010/12/kernel-tracing-with-ftrace-part-2/):
trace-cmd record -e syscalls ls ##Initiate tracing on the syscall 'ls'
##(A file called trace.dat gets created in the current directory.)
trace-cmd report ## displays the report from trace.dat
Для меня trace-cmd record -e syscalls perf stat ls -d .
ловит призывы к perf_event_open
.
Какова ваша дистрибутива ОС? Точное имя (версия) ядра linux (вывод 'uname -a') – osgx