我添加了一些额外的代码到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()