Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Linux内核例程的定时测量_C_Linux_Performance_Linux Kernel - Fatal编程技术网

C Linux内核例程的定时测量

C Linux内核例程的定时测量,c,linux,performance,linux-kernel,C,Linux,Performance,Linux Kernel,我向Linux内核(调度器)添加了一些额外的代码 现在我想知道这次修改的影响是什么 对于我一直使用的用户进程: clock_gettime(CLOCK_PROCESS_CPUTIME_ID, ...); 现在我想知道是否有一个内核等价的例程,我可以 用来做类似的事情 非常感谢您的帮助, 马丁看看ftrace。最近的计划就是基于此。lwn有好文章(,和) 测量调度程序性能是出了名的困难,所以祝你好运:)无符号长本机调度时钟(void)来自x86的asm/timer.h 无符号长调度时钟(void

我向Linux内核(调度器)添加了一些额外的代码 现在我想知道这次修改的影响是什么

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

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

非常感谢您的帮助,
马丁

看看ftrace。最近的计划就是基于此。lwn有好文章(,和)


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

无符号长本机调度时钟(void)来自x86的asm/timer.h

无符号长调度时钟(void)来自
linux/sched.h
用于任何arch

它们是
rdtsc
-滴答计数器读取器周围的包装

upd

还有
linux/clocksource.h

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

谢谢你,我会看看的。然而,在Linux中是否也有类似于clock_gettime的东西?有,但您不想在内核中尝试这样做。ftrace是正确的,它为您完成所有困难的部分。