linux内核态获取纳秒ns时间
内核态常用获取纳秒的函数。u64是unsigned long long类型的数据类型,打印用%llu。
u64 ktime_get_ns(void) u64 ktime_get_real_ns(void) u64 ktime_get_raw_ns(void)
计算程序的运行时间:
u64 t1,t2,d0; t1 = ktime_get_real_ns(); { // 运行程序段 } t2 = ktime_get_real_ns(); d0 = t2 - t1; printk("duration:%llu.",d0);
注意多核使用情况,如果你发现时间t1超前与t2,说明是多核影响的。
参考:
https://www.kernel.org/doc/html/latest/core-api/timekeeping.html