请教下不同系统间的硬中断响应时间

314 天前
 Befehishaber

网上查了下,windows 和 linux 的硬中断响应时间大概在几十微妙之间,但无法得到准确的答案,目前想记录硬件的数据,响应时间在几百毫秒之内都能接受,有必要上 rtos 吗?有没有搞过这方面的给个意见

1632 次点击
所在节点    Linux
11 条回复
GeekGao
314 天前
Linux 的硬中断响应时间并没有一个固定的值,因为这个时间取决于许多因素,包括硬件速度、操作系统设计、以及运行的其他任务

“响应时间在几百毫秒之内都能接受” 那最近 3 年的 Linux 内核支持 threaded irq 了,感觉是可以胜任的

而采用 RTOS 增加复杂性了,需要学习…
GeekGao
314 天前
补:threaded irq 在 10 多年前 2.6.25 就支持了
LGA1150
314 天前
perf bench syscall all

用系统调用的延迟可以近似出硬中断的延迟
GeruzoniAnsasu
314 天前
几百毫秒,完全没有必要。用户空间的高精度定时器都能轻松达到 1ms 的精度,用 RDTSC 之类的指令手搓也能完全控制到 10us 级的精度。 不知道你是要怎样记录何种硬件数据,假如 gpio 之类的,像树莓派甚至 sleep 然后 read sysfs 都够了。
tap91624
314 天前
考虑打个 real time 的 linux 补丁包?
kuanat
314 天前
这个事情优先看 jitter 容忍阈值,其次才是 latency 。如果几百毫秒延迟可以接受的话,我估计 RT-Preempt 内核是可以做到的。RH 系还有 Ubuntu 都有相应的发行版,只是都是收费的。

音频相关对实时性要求比较高,一般现场回放延迟容忍大概在 20ms 以内,如果是舞台耳返的话,大概是 5~10 毫秒左右。目前还是很难用 linux RT 做实时效果合成的。

我印象 x86 RT 大概 99% 的话可以做到 30ms 上下,这个要看具体硬件情况。
DataSheep
314 天前
@kuanat 像 4 楼说的,几百毫秒啥系统都没问题,用不着上实时补丁。30ms 都称不上 RT ,单位写错了吧,us 差不多。
yolee599
314 天前
低于 1ms 的定时才算实时,高于这个值的随便一个系统都能精确实现
Befehishaber
314 天前
@DataSheep 是的 打错了 需要 1 毫秒以内
Befehishaber
314 天前
@GeekGao 不好意思 打错了 是需要在毫秒以内。是不是必须上 rtos 才能满足呢
GeekGao
313 天前
@Befehishaber 那就上 RTOS 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1003505

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX