我的设备上缺少可用的ftrace跟踪器类型

时间:2019-01-31 16:06:07

标签: android linux linux-kernel tracing ftrace

我正在开发一个用于某些研究的用户区域跟踪程序包装器,我需要专门研究内核中的上下文切换。从this LWN文章(“ sched_switch”下的部分,大约下降了三分之一)中,我注意到系统输出(运行3.10.9内核的Android设备)与文章(针对2.6内核)。我最大的问题是缺少下一个任务状态。为了准确显示,文章的输出格式为

sleep-4055  [01]   240.132371:   4055:120:S ==>  3997:120:R

(将重点放在R上以指示下一个状态的状态) 我的输出:

GLThread 292-7361  [000] d..3  9421.164945: sched_switch: prev_comm=GLThread 292 prev_pid=7361 prev_prio=120 prev_state=R ==> next_comm=surfaceflinger next_pid=3036 next_prio=98

现在,Internet上的资源都有些混乱和混杂,因此我希望可以进行快速澄清。

在本文中,跟踪是由

配置的
echo sched_switch > /debug/tracing/current_tracer

现在在我的系统上,我没有将此作为可用的跟踪器

  

odroidxu3:/ d /跟踪#cat available_tracers
  function_graph wakeup_rt唤醒功能nop

但是我能够通过以下接口跟踪sched_switch事件

  

$ cat available_events | grep sched_switch
  sched:sched_switch

     

$ ls个事件/预定/ | grep开关
  sched_switch

哪个让我问,我的内核是否缺少一些需要修补的功能(类似于此this帖子),或者ftrace接口已将sched_switch从可用的跟踪器移至ftrace事件?

如果确实需要修补,那么在哪里可以找到ftrace修补程序的已编译列表/正在进行的列表?

欢呼

0 个答案:

没有答案