我想实现非忙等待机制,以在 linux 内核模块中创建以纳秒为单位的延迟。
现在我在看函数
ndelay(ns);
但是https://www.kernel.org/doc/Documentation/timers/timers-howto.txt
这里提到了ndelay函数是一个忙等待机制。
但我想要非忙等待延迟。所以,我在考虑这样nop
的linux内核模块:
asm volatile ("nop");
我研究过 nop 需要一个周期来执行。因此,我将实施嵌套 nop 以获得所需的延迟。我的问题是——
通过使用 nop 我会以非忙等待的方式实现纳秒延迟吗?任何人都可以确认这一点吗?参考一些期刊和资源也会有所帮助。