内核时钟速率在网络仿真(由 netem)中有何影响?

内核时钟速率在网络仿真(由 netem)中有何影响?

我想使用网络模拟(内特姆)在一个PREEMPT-RT 内核模拟低至 0.5 ms ± 10 % 的延迟和抖动。

因此,我最初认为我必须将内部内核时钟速率调整为至少 2000 Hz,因为这意味着我可以添加 0.5 毫秒的时间确定性延迟。

然而,似乎在较低的内核时钟速率下,它也应该可以正常工作(通过实验测量)。经过一些研究,我认为这可能是由于内核配置中的无滴答设置或动态滴答造成的,但基本上我现在相当困惑内核时钟速率如何工作以及为什么它很重要。

那么,是否需要内核时钟速率自适应?我是否对时钟速率的实际工作方式存在理解问题?

感谢您的帮助 :)

答案1

那么是否需要内核时钟速率自适应

完全没有,而且从很久以前就没有了:

netem 多年来一直使用高分辨率定时器,并且与 HZ 值无关。

高分辨率定时器的粒度不依赖于linux内核定时器频率(CONFIG_HZ)。它们仅受以下限制时钟源选择作为参考并且可以达到ns。

相关内容