安卓上的ftrace?
Posted
技术标签:
【中文标题】安卓上的ftrace?【英文标题】:ftrace on android? 【发布时间】: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 Systrace Trace File Format,问候 查看:opensourceforu.com/2010/11/kernel-tracing-with-ftrace-part-1 【参考方案1】:不要启用 RING_BUFFER_BENCHMARK。这是用于测试环形缓冲区的调试选项。您的输出显示它已启用并且正在浪费大量 CPU。
【讨论】:
【参考方案2】:啊,明白了。忘了做一个herring_defconfig。还仅启用了功能跟踪器,而不是全部启用。现在可以使用了。
【讨论】:
嗨,内核是否可用于为 android 编译,以便使用 ftrace,还是取决于制造商可用的资源?以上是关于安卓上的ftrace?的主要内容,如果未能解决你的问题,请参考以下文章