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에 문제가 있습니다.

관련 정보