跨内核和用户空间的Linux时序

Yer*_*aze 5 c++ linux time linux-device-driver linux-kernel

我正在为一个特殊的摄像头编写内核模块,通过V4L2来处理帧到用户空间代码的传输.然后我在应用程序中做了很多用户空间.

这里的时间非常关键,所以我一直在做大量的性能分析和简单的旧std::chrono::steady_clock东西来跟踪时序,但是我已经达到了我需要从内核方面收集时序数据以便我可以分析的程度.从硬件中断到V4L DQBuf到用户空间的整个路径......

任何人都可以推荐一种获得高分辨率计时数据的好方法,这些数据与应用程序用户空间数据一致,我可以用于这种比较吗?现在我正在以微秒为单位测量活动..

Ubuntu 12.04 LTS

bro*_*oot 0

有许多可用的内核级实用程序可以为您获取与计时相关的跟踪。例如ptrace,,,,。ftrace​​ 查看此链接以获取更多信息。 http://elinux.org/Kernel_Trace_SystemsLTTngKprobes