hi, all two different patches have been ported to linux-mips/loongson for kernel function tracing, they are KFT and ftrace. both of them can be used to trace kernel functions, but they are based on different implementations(will be introduced later). KFT is released as a kernel patch, and maintained by DSLab currently, the latest versions can be found at ftp://dslab.lzu.edu.cn/pub/kft ftrace is originally from the real time linux extension(RT_PREEMPT, rt.wiki.kernel.org), and have been merged to the mainline kernel, but there is no mips implementation in the official kernel. I have ported it to mips platform, and trying to push it into the mainline kernel. * KFT for linux-mips/loongson git tree: git://dev.lemote.com/rt4ls.git linux-2.6.29-stable-loongson-kft * ftrace for linux-mips/loongson git tree: git://dev.lemote.com/rt4ls.git linux-2.6.29-stable-loongson-ftrace both of them have been tested on yeeloong2f notebook, works well when compiled kernel in 32bit or 64bit. if you want to use them, try to read the documentations for them: Documentation/kft.txt Documentation/kft_kickstart.txt Documentation/ftrace.txt + more information about KFT & ftrace: "Kernel Function Trace (KFT) is a kernel function tracing system, which uses the "-finstrument-functions" capability of the gcc compiler to add instrumentation callouts to every function entry and exit. The KFT system provides for capturing these callouts and generating a trace of events, with timing details. KFT is excellent at providing a good timing overview of kernel procedures, allowing you to see where time is spent in functions and sub-routines in the kernel." (http://elinux.org/Kernel_Function_Trace) "ftrace is originally came from work on realtime Linux, it is a self-contained solution, requiring no user-space tools or support, that is useful for tracking down problems—not only in the kernel, but in its interactions with user space as well. The name ftrace comes from "function tracer", which was its original purpose, but it can do more than that. Various additional tracers have been added to look at things like context switches, how long interrupts are disabled, how long it takes for high-priority tasks to run after they have been woken up, and so on. Its genesis in the realtime tree is evident in the tracers so far available, but ftrace also includes a plugin framework that allows new tracers to be added easily." (http://lwn.net/Articles/322666/) BTW: a "kgcov for linux-mips/loongson" git tree can also be found here, git://dev.lemote.com/rt4ls.git linux-2.6.29-stable-loongson-kgcov kgcov can be used to kernel profiling, which is originally from http://ltp.sourceforge.net/coverage/gcov.php Best Regards, Wu Zhangjin -- Wu Zhangjin DSLab, Lanzhou University, China www.lemote.com, Jiangsu Province, China