2010-01-29 92 views
4

我給Linux內核(調度程序) 添加了一些額外的代碼,現在我想知道這個修改的影響。Linux內核例程的時序測量

對於用戶進程,我總是用:

clock_gettime(CLOCK_PROCESS_CPUTIME_ID, ...); 

現在我想知道是否有一個內核相當於常規,我可以 用做類似的事情。

非常感謝您的幫助, 馬丁

回答

4

看看ftrace。延遲頂部是基於此。有在LWN好文章(hereherehere

衡量調度性能異常困難,這麼好運:)

+0

感謝,我將看看它。但是,是否也有類似於Linux中的clock_gettime? – Martin 2010-01-29 10:38:09

+1

有,但你不想在內核中這樣做。 ftrace是正確的,它爲你做了所有困難的部分。 – 2010-01-29 11:46:09

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()