ftraceのTrace_statフォルダにある関数フォルダ

ftraceのTrace_statフォルダにある関数フォルダ

私は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<>ファイルの実際の意味を誰が説明できますか?

答え1

これらのファイルは "for_each_possible_cpu()" ループを通じて生成されます。何らかの理由で、カーネルはシステムに32個のCPUが有効になっていると思います。この問題を引き起こす特定のBIOSに問題があります。

関連情報