ITPub博客

首页 > > > Linux kernel计算某段代码运行时间

Linux kernel计算某段代码运行时间

作者:dapan 时间:2018-12-26 14:07:45 0 删除 编辑

就几个函数,不废话,直接上代码


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

觉得不错,请帮忙转发,点赞,您的每一次支持,我都将铭记于心

原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-08-07

  • 博文量
    4504
  • 访问量
    87051