1、框架介绍
ftrace内核驱动可以分为几部分:ftrace framework,RingBuffer,debugfs,Tracepoint,各种Tracer。
ftrace框架是整个ftrace功能的纽带,包括对内和的修改,Tracer的注册,RingBuffer的控制等等。
RingBuffer是静态动态ftrace的载体。
debugfs则提供了用户空间对ftrace设置接口。
Tracepoint是静态trace,他需要提前编译进内核;可以定制打印内容,自由添加;并且内核对主要subsystem提供了Tracepoint。
Tracer有很多种,主要几大类:
函数类:function, function_graph, stack
延时类:irqsoff, preemptoff, preemptirqsoff, wakeup, wakeup_rt, waktup_dl
其他类:nop, mmiotrace, blk
&
深入理解Ubuntu内核:ftrace性能分析机制
本文介绍了Ubuntu内核中的ftrace性能分析工具,包括ftrace框架、RingBuffer、debugfs、Tracepoint和各种Tracer的详细功能。ftrace框架负责内核的修改和Tracer管理,RingBuffer作为数据载体,debugfs提供用户空间接口。Tracepoint支持静态跟踪,而Tracer如函数类、延时类和其他类则用于不同场景的性能分析。文章还探讨了初始化过程,如tracer_alloc_buffers和trace_init_debugfs的作用。
订阅专栏 解锁全文
1032

被折叠的 条评论
为什么被折叠?



