我在单独的核心上运行低延迟服务器/客户端音频应用程序。 (通过cpuset) 没有检测到xruns,我怀疑调度程序会中断我的关键例程。由于在用户空间中无法禁用中断,我的想法是创建内核模块并为local_irq_disable()/ local_irq_enable()编写包装函数。安全不是问题。正在使用具有完全可抢占内核的rt Linux。
编辑:SMP亲缘关系是此处的关键字:SMP IRQ Affinity
答案 0 :(得分:0)
我建议首先尝试使用lttng和tracecompass来跟踪内核调度,以了解系统上发生了什么,以及其他进程,资源锁定或中断是否会强制您的进程退出cpu。
你真的需要这个过程在没有cpu时间间隔的情况下运行吗?如果不是:你需要以微秒或毫秒为单位的响应时间吗?