ftrace 的trace_stat 文件夹中的functions 文件夹

ftrace 的trace_stat 文件夹中的functions 文件夹

我正在学习 ftrace,我从以下链接中了解到我可以使用“function_profile_enabled”文件启用函数分析。

mount -t tracefs nodev /sys/kernel/tracing
cd /sys/kernel/tracing
echo 1 > function_profile_enabled
echo "function" > current_tracer

https://www.kernel.org/doc/html/v4.18/trace/ftrace.html

上面的链接告诉我们该信息存在于trace_stats/function (function0, function1..)中

$ ls trace_stat/function*
trace_stat/function0   trace_stat/function15  trace_stat/function21  trace_stat/function28  trace_stat/function6
trace_stat/function1   trace_stat/function16  trace_stat/function22  trace_stat/function29  trace_stat/function7
trace_stat/function10  trace_stat/function17  trace_stat/function23  trace_stat/function3   trace_stat/function8
trace_stat/function11  trace_stat/function18  trace_stat/function24  trace_stat/function30  trace_stat/function9
trace_stat/function12  trace_stat/function19  trace_stat/function25  trace_stat/function31
trace_stat/function13  trace_stat/function2   trace_stat/function26  trace_stat/function4
trace_stat/function14  trace_stat/function20  trace_stat/function27  trace_stat/function5
root tracing

我的 Ubuntu VM 上只有 4 个核心

$ grep -c ^processor /proc/cpuinfo     
4

谁能解释一下trace_stat文件夹中这个文件function<>的实际意义trace_stat文件夹中的functions文件夹

答案1

这些文件是通过“for_each_possible_cpu()”循环创建的。由于某种原因,您的内核认为您的系统启用了 32 个可能的 CPU。某些 BIOS 存在一些问题导致了这种情况。

相关内容