V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Befehishaber
V2EX  ›  Linux

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

  •  
  •   Befehishaber · 2023-12-26 14:28:54 +08:00 · 1722 次点击
    这是一个创建于 367 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言  ·  2023-12-27 10:34:18 +08:00
    不好意思 打错了 是接受几百微妙 [笑哭]
    11 条回复    2023-12-27 16:04:17 +08:00
    GeekGao
        1
    GeekGao  
       2023-12-26 18:23:14 +08:00
    Linux 的硬中断响应时间并没有一个固定的值,因为这个时间取决于许多因素,包括硬件速度、操作系统设计、以及运行的其他任务

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

    而采用 RTOS 增加复杂性了,需要学习…
    GeekGao
        2
    GeekGao  
       2023-12-26 18:30:57 +08:00
    补:threaded irq 在 10 多年前 2.6.25 就支持了
    LGA1150
        3
    LGA1150  
       2023-12-26 19:26:02 +08:00
    perf bench syscall all

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

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

    我印象 x86 RT 大概 99% 的话可以做到 30ms 上下,这个要看具体硬件情况。
    DataSheep
        7
    DataSheep  
       2023-12-27 09:15:30 +08:00
    @kuanat 像 4 楼说的,几百毫秒啥系统都没问题,用不着上实时补丁。30ms 都称不上 RT ,单位写错了吧,us 差不多。
    yolee599
        8
    yolee599  
       2023-12-27 09:44:23 +08:00
    低于 1ms 的定时才算实时,高于这个值的随便一个系统都能精确实现
    Befehishaber
        9
    Befehishaber  
    OP
       2023-12-27 10:35:27 +08:00
    @DataSheep 是的 打错了 需要 1 毫秒以内
    Befehishaber
        10
    Befehishaber  
    OP
       2023-12-27 10:36:48 +08:00
    @GeekGao 不好意思 打错了 是需要在毫秒以内。是不是必须上 rtos 才能满足呢
    GeekGao
        11
    GeekGao  
       2023-12-27 16:04:17 +08:00
    @Befehishaber 那就上 RTOS 吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2989 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 11:08 · PVG 19:08 · LAX 03:08 · JFK 06:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.