Linux内核例程的时序测量

时间:2010-01-29 10:17:59

标签: c linux performance linux-kernel

我在Linux内核(调度程序)中添加了一些额外的代码 现在我想知道这种修改的影响是什么。

对于我一直使用的用户进程:

clock_gettime(CLOCK_PROCESS_CPUTIME_ID, ...);

现在我想知道是否有一个与内核等效的例程 用来做类似的事情。

非常感谢您的协助, 马丁

2 个答案:

答案 0 :(得分:4)

看看ftrace。 Latencytop就是基于此。 lwn有好文章(hereherehere

测量调度程序的性能非常难,所以祝你好运:)

答案 1 :(得分:2)

unsigned long long native_sched_clock(void);来自asm/timer.h x86

来自unsigned long long sched_clock(void);的任何拱门的

linux/sched.h

它们是rdtsc周围的包装 - 打勾计数器。

UPD。

还有linux/clocksource.h

timecounter_init - initialize a time counter
timecounter_read - return nanoseconds elapsed since timecounter_init()