【问题标题】:ftrace on android?安卓上的ftrace?
【发布时间】:2012-02-17 02:38:04
【问题描述】:

我一直试图让 ftrace 在 Android 上运行,但无济于事。我正在使用带有内核 3.08 的 ICS。 以下是我遵循的步骤:

  • 使用 menuconfig 并启用 KernelHacking->Tracers 下的所有选项。生成的最终 .config 启用了所有 ftrace 选项。
  • 使用生成的 zImage 创建新系统和启动映像。
  • 如果我尝试执行 mount -t debugfs nodev /sys/kernel/debug,我会收到一条消息说“mount: Device or resource busy”。我猜它已经安装好了。我尝试卸载并重新安装它,但这对我没有任何作用。
  • 现在在 adb shell 中,我已经可以看到 /sys/kernel/debug 已创建。但是,如果我查看 available_tracers,我只能看到 blk 和 nop。
  • 现在,如果我运行输出跟踪文件,这就是我得到的:

示踪剂:nop

       TASK-PID    CPU#    TIMESTAMP  FUNCTION
          | |       |          |         |
 rb_producer-15    [000]   606.337706: ring_buffer_producer_thread: Starting  ring buffer hammer
 rb_producer-15    [000]   616.264577: ring_buffer_producer_thread: End ring buffer hammer
 rb_producer-15    [000]   616.264606: ring_buffer_producer_thread: RunningConsumer at nice: 19
 rb_producer-15    [000]   616.264609: ring_buffer_producer_thread: RunningProducer at nice: 19
 rb_producer-15    [000]   616.264612: ring_buffer_producer_thread: WARNING!!! This test is running at lowest priority.
 rb_producer-15    [000]   616.264614: ring_buffer_producer_thread: Time:  9932418 (usecs)
 rb_producer-15    [000]   616.264616: ring_buffer_producer_thread: Overruns: 0
 rb_producer-15    [000]   616.264619: ring_buffer_producer_thread: Read:  10514159  (by pages)
 rb_producer-15    [000]   616.264621: ring_buffer_producer_thread: Entries:  3491
 rb_producer-15    [000]   616.264623: ring_buffer_producer_thread: Total:  10517650
 rb_producer-15    [000]   616.264625: ring_buffer_producer_thread: Missed:  0
 rb_producer-15    [000]   616.264626: ring_buffer_producer_thread: Hit:  10517650
 rb_producer-15    [000]   616.264629: ring_buffer_producer_thread: Entriesper millisec: 1058
 rb_producer-15    [000]   616.264630: ring_buffer_producer_thread: 945 ns per entry
 rb_producer-15    [000]   616.264633: ring_buffer_producer_thread: Sleeping for 10 secs
 rb_producer-15    [000]   626.261167: ring_buffer_producer_thread: Starting ring buffer hammer

如何启用其他跟踪选项,例如功能?

不可能这么难,尤其是当我读到有人在 Android 上使用 ftrace 时。这里一定有我遗漏的东西。

任何帮助/建议将不胜感激。

谢谢!

-卡纳夫

【问题讨论】:

标签: android profiling


【解决方案1】:

不要启用 RING_BUFFER_BENCHMARK。这是用于测试环形缓冲区的调试选项。您的输出显示它已启用并且正在浪费大量 CPU。

【讨论】:

    【解决方案2】:

    啊,明白了。忘了做一个herring_defconfig。还仅启用了功能跟踪器,而不是全部启用。现在可以使用了。

    【讨论】:

    • 嗨,内核是否可用于为 android 编译,以便使用 ftrace,还是取决于制造商可用的资源?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 2023-03-10
    • 2010-09-28
    • 2011-11-05
    • 1970-01-01
    相关资源
    最近更新 更多