我在几台不同的设备上使用Android上的ftrace,但我注意到它们之间的输出格式不同。在某些情况下,包括当前进程的TGID,而在其他情况下,则不包括。
TGID在我正在使用ftrace的当前应用程序中非常有用,我想知道如何启用它。我知道sysfs文件“/ sys / kernel / debug / tracing / options / print-tgid”,但遗憾的是,这在我的设备上不可用。是否有可用于将TGID添加到ftrace输出格式的内核选项或ftrace句柄?
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
# ^^ (no tgid...)
VS
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID TGID CPU# |||| TIMESTAMP FUNCTION
# | | | | |||| | |
# ^^^(tgid is available in this column!)
答案 0 :(得分:0)
我确定了添加此功能的位置。只有非常新版本的Linux内核的Android分支有tgid信息可用,而且没有vanilla Linux内核版本(我很清楚)。如果将补丁从https://android.googlesource.com/kernel/common/+/d34f20303f234fb6eae16548055766916cae7c2b%5E!/应用到内核源代码树并构建,则应该进行设置。您可能必须在修补程序中手动应用枚举,但是一旦添加它就应该设置。