在linux内核中可以以微秒级的粒度睡眠吗?
据我所知,有msleep()
可以在毫秒内睡眠
还有udelay()
在微秒内等待时间
粒度。
但我需要睡眠(不忙等待)的粒度微秒。。。
有没有办法在linux内核中编写一个新的API来允许这样做?
最佳答案
如果你需要的精度不到一瞬间,hr计时器是你最好的选择。在内核中启用高分辨率计时器配置,您可以使用hrtimer api,如hrtimer_nanosleep(用户空间的基础posix nanosleep),它可以在nanosecs res中睡眠
更多参考http://elinux.org/High_Resolution_Timers和https://www.kernel.org/doc/Documentation/timers/hrtimers.txt
关于c - 在Linux内核中能否以微秒的粒度 sleep ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28105534/