ktime使用例子【原创】

简介:

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/delay.h>
#include <linux/interrupt.h>


static void time_get(ktime_t *start);

static void time_get(ktime_t *start)
{
*start = ktime_get();
}

static int time_print(const char *name, ktime_t starttime)
{
ktime_t rettime;
s64 usecs64;
int usecs;
unsigned long my_s, my_us;

rettime = ktime_get();
usecs64 = ktime_to_us(ktime_sub(rettime, starttime));
usecs = usecs64;

my_s = usecs / USEC_PER_MSEC;
my_us = usecs % USEC_PER_MSEC;


if (usecs == 0)
usecs = 1;

printk("time: %ld.%03ld \r\n", my_s, my_us);

return 0;
}

static int hello_init(void)
{
ktime_t my_time;

printk(KERN_ALERT "Hello, world ver=%s\n", "1.0");

time_get(&my_time);
time_print(NULL, my_time);

mdelay(100);

time_print(NULL, my_time);

return 0;
}

static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel world\n");
}

module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("Dual BSD/GPL");

 

[80492.470000] Hello, world ver=1.0
[80492.480000] time: 0.000 
[80492.580000] time: 102.299

 





本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5387395.html,如需转载请自行联系原作者

相关文章
|
C语言
【C语言初阶】循环语句的具体用法,有这篇博客就够了1
【C语言初阶】循环语句的具体用法,有这篇博客就够了
167 0
|
程序员 C语言
【C语言初阶】函数的具体用法,有这篇博客就够了 1
【C语言初阶】函数的具体用法,有这篇博客就够了
89 0
【C++学习手札】一文带你认识C++虚继承​​
【C++学习手札】一文带你认识C++虚继承​​
|
存储 Java 索引
【JavaSE专栏26】数组是什么?如何定义
【JavaSE专栏26】数组是什么?如何定义
|
算法 C语言
【C语言初阶】循环语句的具体用法,有这篇博客就够了2
【C语言初阶】循环语句的具体用法,有这篇博客就够了
157 0
|
程序员 C语言
【C语言初阶】分支语句If与switch的具体用法,有这篇博客就够了
【C语言初阶】分支语句If与switch的具体用法,有这篇博客就够了
315 0
|
算法 编译器 C语言
【C语言初阶】函数的具体用法,有这篇博客就够了2
【C语言初阶】函数的具体用法,有这篇博客就够了
168 0
|
前端开发
前端学习案例6-隐式类型转换-6 原创
前端学习案例6-隐式类型转换-6 原创
91 0
前端学习案例6-隐式类型转换-6 原创
|
算法 编译器 C语言
你是真的“C”——详细剖析操作符知识点【上篇】
详解C语言中操作符模块相关知识点
134 0
|
数据采集 机器学习/深度学习 SQL
原创|怎么自学Python,大概要多久?思路推荐
原创|怎么自学Python,大概要多久?思路推荐
190 0
原创|怎么自学Python,大概要多久?思路推荐

热门文章

最新文章