Linux内核例程的时序测量

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

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

clock_gettime(CLOCK_PROCESS_CPUTIME_ID, ...); 

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

非常感谢您的帮助,Martin

看看ftrace。 延迟顶部是基于此。 在lwn( 这里 , 在 这里 )有很好的文章

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

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

unsigned long long sched_clock(void);linux/sched.h的任何拱门

它们是rdtsc – tick计数器读者的包装。

UPD。

还有linux/clocksource.h

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