说明下:linux 2.4 一秒有100个时钟中断, 一个jiffies为10ms
linux2.6 一秒1000个时钟中断,所以一个jiffies为1ms
每次时钟中断产生,内核内部计数器的值加一,也就是jiffies++。
jiffies,是一个64 位的变量。
调用需包含<linux/jiffies.h> 或 <linux/sched.h>
计算时间最简单方法
unsigned long t1,t2, diff;
t1 = jiffies;
.........
run the function
.........
t2 = jiffies;
diff = t2-t1;
// print 64 bit diff value.
printf("diff = %ld/n", diff);
更多方法,比如读tsc,APIC/ACPI timer/ 参见:
http://blog.csdn.net/defeattroy/archive/2010/02/04/5288627.aspx