Linux内核中的延时函数
第一类延时函数原型是:(忙等) ( 头文件是 #include<linux/delay.h>
)
void ndelay(unsigned long nsecs);
void udelay(unsigned long usecs);
void mdelay(unsigned long msecs);
说明:内核函数 ndelay, udelay, 以及 mdelay 对于短延时好用, 分别延后执行指定的纳秒数, 微秒数或者毫秒数. 它们涉及到的延时常常是最多几个毫秒。
第二类延时函数原型是:(使进程进入休眠)
void msleep(unsigned int millisecs);
unsigned long msleep_interruptible(unsigned int millisecs);
void ssleep(unsigned int seconds)
这类方法获得毫秒(和更长)延时而不用涉及到忙等待,前2 个函数使调用进程进入睡眠给定的毫秒数.
一个对 msleep 的调用是不可中断的; 你能确保进程睡眠至少给定的毫秒数.
如果你的驱动位于一个等待队列并且你想唤醒来打断睡眠, 使用 msleep_interruptible. 从 msleep_interruptible 的返回值正常地是 0; 如果这个进程被提早唤醒, 返回值是在初始请求睡眠周期中剩余的毫秒数. 对 ssleep 的调用使进程进入一个不可中断的睡眠给定的秒数.
http://www.taodudu.cc/news/show-1837214.html
相关文章:
- OmniCppComplete实现C代码自动补全
- 一次Linux驱动升级的问题记录
- Linux内核原子操作及函数
- 使用BCC工具获取Linux内核空间read/write操作的文件名
- linux内核IO模块plug/unplug机制
- linux开机时驱动的加载流程
- 服务器搭建docker环境的过程
- 使用docker环境编译驱动
- generic_make_request函数处理bio流程分析
- 以rpm包形式升级Linux驱动
- 查看设备UUID的方法
- 关于might_sleep的一点说明
- Linux内核中增加一个新的驱动模块
- cdev 结构体、设备号相关知识解析
- CentOS镜像中替换安装镜像的小系统的内核方法
- initramfs文件解压方法
- Linux系统下多版本gcc使用问题记录
- kmalloc参数GFP_ATOMIC or GFP_KERNEL?
- 几篇关于UDEV的文章
- blk_queue_bio函数学习
- 使用samba完成Linux服务器与Windows之间的映射
- proc文件系统实现用户空间与内核空间的数据通信
- Linux定时器的简单使用
- slub释放过程-do_slab_free
- Linux 的 history 命令显示时间
- 缺少网卡固件导致的网络服务异常,Can‘t load firmware file bnx2x/bnx2x-e2-7.13.15.0.fw
- slub分配流程-kmem_cache_alloc函数
- rpm数据库异常问题总结
- ks.cfg配置详解
- IO负载高的来源定位
Linux内核中的延时函数相关推荐
- Linux内核中的延时函数详解
内核中涉及的延时主要有两种实现方式:忙等待或者睡眠等待.前者阻塞程序,在延时时间到达前一直占用CPU,而后者是将进程挂起(置进程于睡眠状态并释放CPU资源).所以,前者一般用在延时时间在毫秒以内的精确 ...
- Linux Shell中的延时函数
Linux Shell中的延时函数 在 linux shell 脚本中经常需要做一些延时处理. 所以经常要用到 sleep 或 usleep 函数. 下面来说一下 sleep 和 usleep 的区 ...
- linux内核中的睡眠函数*delay、*sleep
目录 一.睡眠函数种类 1.原子上下文 2.非原子上下文 二.使用环境 1.使用环境的不同,选择不同的延时 2.驱动机制不同 3.内核中的计算函数执行的函数 三.实测两类函数的延时以及原因 1.测试系 ...
- linux内核中的hook函数详解,linux内核中的hook函数详解
在编写linux内核中的网络模块时,用到了钩子函数也就是hook函数.现在来看看linux是如何实现hook函数的. 先介绍一个结构体: struct nf_hook_ops,这个结构体是实现钩子函数 ...
- linux hook 任意内核函数,linux内核中的hook函数详解
在编写linux内核中的网络模块时,用到了钩子函数也就是hook函数.现在来看看linux是如何实现hook函数的. 先介绍一个结构体: struct nf_hook_ops,这个结构体是实现钩子函数 ...
- Linux内核中内存分配函数
1.原理说明 Linux内核 中采 用了一种同时适用于32位和64位系统的内 存分页模型,对于32位系统来说,两级页表足够用了,而在x86_64系 统中,用到了四级页表,如图2-1所示.四级页表分别为 ...
- linux内核中测量时间的方法,Linux内核中获取时间函数do_gettimeofday
内核代码能一直获取一个当前时间的表示, 通过查看 jifies 的值. 常常地, 这个值只代表从最后一次启动以来的时间, 这个事实对驱动来说无关, 因为它的生命周期受限于系统的 uptime. 如所示 ...
- linux内核字符串逆序,Linux内核中常用字符串函数实现
//列举了部分常用的strcpy,strcmp,strcat,strchr,strstr,strpbrk... char *strcpy(char *dest, const char *src) { ...
- linux mktime函数的实现,Linux内核中mktime()函数算法分析
Linux内核中的mktime()函数位于kernel/time.c内 该函数主要用于内核启动时,将CMOS中的 年-月-日 时:分:秒 信息转换为距离1970-01-01 00:00:00的秒数 具 ...
- linux启动程序api编程,Linux编程中关于API函数与系统调用间关系
用户态xyz()函数,内核最终一般会调用形如sys_xyz()的服务例程来处理(不过也有一些例外,这里暂时不考虑) 函数xyz()是直接提供给用户编程使用的.图中"SYSCALL" ...
最新文章
- B样条曲线 及 B样条曲面
- 8.13模拟:分治二分倍增快速幂
- python 字符串大小写转换 其它不变_python字符串大小写如何转换
- AOE网与关键路径简介
- 3gpp协议_C-V2X: 3GPP协议阅读前的一些准备
- Python 性能分析入门指南
- LeetCode之长度最小的子数组
- 词频统计(30 分)(map vector sort)
- mysql web聊天_多嘴WEB聊天室基于PHP+MYSQL的中文聊天室
- 数据库系统概论重点总结
- WAS中间件服务器简介
- xmpp 即时通讯协议研究
- 网卡驱动离线安装经验,避坑指南
- java集成极光推送
- java60秒倒计时
- 易语言html加密解密,易语言实现-JScript.Encode加密解密(一)
- 使用Frida hook 获取native层代码的返回值
- 大数据缺省值插补方法(回归填补[stochastic regression imputation],聚类填补,。。)
- 获取网页访问者的IP地址
- 2020 对自己好一点之新 Mac Book Pro 环境的安装