【发布时间】: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,问候