我发现并非同一文件中的每个函数都列在 ftrace 的/sys/kernel/debug/tracing/available_filter_functions 中。
例如,列出了 blk_mq_map_swqueue() 但 blk_mq_add_queue_tag_set() 即使在文件 blik-mq.c 上也没有列出。
我查看文档[ 1 ] 在 linux 内核中。除了内联函数外,它似乎没有突出显示。
它的标准是什么?
请您参考如下方法:
正如 Roman Zaitsev 评论的那样,我为 blk_mq_add_queue_tag_set() 设置了属性 noninline,然后重新构建了内核。
它确实出现在/sys/kernel/debug/tracing/available_filter_functions 上。
同时,我可以在/sys/kernel/debug/tracing/trace 上跟踪它。