ftrace 的使用【转】】的更多相关文章

转自:http://blog.csdn.net/cybertan/article/details/8258394 This article explains how to set up ftrace and be able to understand how to trace functions. It should be useful for current kernel developers and device driver developers who want to debug ker…
摘要:和很多linux内核子系统一样,static tracepoint有很多层次,其中某个层次都展示给不同层次的开发者来满足他们的不同需求.关于linux tracepoint的详细信息,我们可以在linux内核文档Documentation/trace/tracepoints.txt和 samples/tracepoints这两个地方找到.大致来说,对tracepoints本身的定义是第一个层次,一般只有内核开发者才会定义这些tracepoints:trace event是第二个层次,用于d…
目录: 1. ftrace背景 2. 框架介绍 3. 主要代码分析 4. ftrace的配置和使用 5. ftrace相关工具 在日常工作中,经常会需要对内核进行Debug.或者进行优化工作.一些简单的问题,可以通过dmesg/printk查看,优化借助一些工具进行. 但是当问题逻辑复杂,优化面宽泛的时候,往往无从下手. 需要从上到下.模块到模块之间分析,这时候就不得不借助于Linux提供的静态(Trace Event)动态(各种Tracer)进行分析. 同时还不得不借助工具.或者编写脚本进行分…
Ftrace简介 Ftrace是Linux进行代码级实践分析最有效的工具之一,比如我们进行一个系统调用,出来的时间过长,我们想知道时间花哪里去了,利用Ftrace就可以追踪到一级级的时间分布. Ftrace案例 写一个proc模块,包含一个proc的读和写的入口.test_proc_show()故意调用了一个kill_time()的函数,而kill_time()的函数,又调用了mdelay(2)和kill_moretime()的函数,该函数体内调用mdelay(2). kill_time()的函…
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79161135 ftrace 是一个 Linux 内核特性,它能够让你去跟踪 Linux 内核的函数调用. 为什么要这么做呢?好吧,如果你调试一个奇怪的问题,而你已经得到了你的内核版本号中这个问题在源码中的開始的位置.而你想知道这里究竟发生了什么?-- Julia Evans本文导航◈ 什么是 ftrace?05%◈ 使用 ftrace…
关键词:ftrace.trace-cmd.kernelshark. trace-cmd是设置读取ftrace的命令行工具,kernelshark既可以记录数据,也可以图形化分析结果. trace-cmd和kernelshark源码都由kernel.org维护在trace-cmd.git. kernekshark还有自己的帮助网站kernelshark.org. 1. trace-cmd编译安装 可以通过git下载trace-cmd相关代码: git clone https://git.kerne…
假设debugfs已经挂载到了/sys/kernel/debug目录下,下面的小脚本用来抓取unlink系统调用的耗时: cd /sys/kernel/debug/tracing echo function_graph > current_tracer echo > tracing_on echo do_unlinkat > set_graph_function echo do_unlinkat > set_ftrace_filter echo > trace cat tra…
摘要:和很多linux内核子系统一样,static tracepoint有很多层次,其中某个层次都展示给不同层次的开发者来满足他们的不同需求.关于linux tracepoint的详细信息,我们可以在linux内核文档Documentation/trace/tracepoints.txt和 samples/tracepoints这两个地方找到.大致来说,对tracepoints本身的定义是第一个层次,一般只有内核开发者才会定义这些tracepoints:trace event是第二个层次,用于d…
ftrace 简介 ftrace 的作用是帮助开发人员了解 Linux 内核的运行时行为,以便进行故障调试或性能分析. 最早 ftrace 是一个 function tracer,仅能够记录内核的函数调用流程.如今 ftrace 已经成为一个 framework,采用 plugin 的方式支持开发人员添加更多种类的 trace 功能. Ftrace 由 RedHat 的 Steve Rostedt 负责维护.到 2.6.30 为止,已经支持的 tracer 包括: Function tracer…
转自:http://blog.csdn.net/wang6077160/article/details/7814279 ftrace 的使用 ftrace 在内核态工作,用户通过 debugfs 接口来控制和使用 ftrace .从 2.6.30 开始,ftrace 支持两大类 tracer:传统 tracer 和 Non-Tracer Tracer .下面将分别介绍他们的使用. 传统 Tracer 的使用 使用传统的 ftrace 需要如下几个步骤: 选择一种 tracer 使能 ftrace…