我正在使用
虽然trace/events/sched.h发布了
perf trace -bla-bla-bla -e sched:sched_switch
命令在一个内核版本为5.15.53
的系统上进行追踪,然而似乎它没有配置以填充所有跟踪字段。虽然trace/events/sched.h发布了
prev_state=%s%s
,但我不明白为什么这里会有TASK_REPORT_MAX - 1
?这个宏没有文档描述它的作用,也无法从源代码中清楚地看出其重要性。
perf trace ...
的输出结果如下:
0.000 Timer/19125 sched:sched_switch(prev_comm: "Timer", prev_pid: 19125 (Timer), prev_prio: 120, prev_state: 1, next_comm: "swapper/2", next_prio: 120)
注意:prev_state: 1
。根据我之前发送的链接,我绝对不希望在那里看到1
。我该如何处理配置错误的内核?