首页 > > > Linux kernel计算某段代码运行时间
index 711f9d0..5eb0364 100755
--- a/drivers/power/cw2015_battery.c
+++ b/drivers/power/cw2015_battery.c
@@ -25,6 +25,7 @@
#include <linux/platform_data/ntc_thermistor.h>
#include <linux/gpio.h>
#include <linux/of_gpio.h>
+#include<linux/ktime.h>
static int dbg_enable;
@@ -884,12 +885,28 @@ static int cw_bat_resume(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct cw_battery *cw_bat = i2c_get_clientdata(client);
+
+ ktime_t calltime, delta, rettime;
+ unsigned long long duration;
+
+ /*获取当前时间*/
+ calltime = ktime_get();
+
+
cw_bat->suspend_resume_mark = 1;
read_persistent_clock(&cw_bat->after);
cw_bat->after = timespec_sub(cw_bat->after,
cw_bat->suspend_time_before);
queue_delayed_work(cw_bat->battery_workqueue,
&cw_bat->battery_delay_work, msecs_to_jiffies(2));
+
+ /*获取当前时间*/
+ rettime = ktime_get();
+ /*计算时间差 ktime_sub(B,A) 计算A-B的时间差 这时候获取的时间是纳秒*/
+ delta = ktime_sub(rettime,calltime);
+ /*转换成微秒*/
+ duration = (unsigned long long) ktime_to_ns(delta) >> 10;//微秒
+ printk("%s after %lld usecs\n",__FUNCTION__, duration);
return 0;
}
欢迎关注微信公众号-嵌入式Linux
觉得不错,请帮忙转发,点赞,您的每一次支持,我都将铭记于心
原文作者:;如有侵权,请联系管理员删除。