本文档介绍了Linux内核中的追踪点及其使用方法。文档中提供的例子详细说明了如何在内核中插入追踪点,如何将探测函数与追踪点联系起来。同时也提供了一些探测函数的例子。
Ø 追踪点的目的
代码中的追踪点提供了在运行时调用探测函数的钩子。追踪点可以打开(已连接探测函数)或关闭(没有连接探测函数)。处于关闭状态的追踪点不会引发任何效果,除了增加了一点时间开销(检查一条分支语句的条件)和空间开销(在instrumented function[不知道如何翻译合适]的尾部增加几条函数调用的代码,在独立区域增加一个数据结构)。如果一个追踪点被打开,那么每次追踪点被执行时都会调用连接的探测函数,而且在调用者的执行上下文中。探测函数执行结束后,将返回到调用者(从追踪点继续执行)。
可以在代码中的重要位置安放追踪点。它们是轻量级的钩子函数,能够传递任意个数的参数,原型可以在定义追踪点的头文件中找到。
追踪点可以用来进行系统追踪并进行性能统计。
Ø 使用方法
每个追踪点都包含2