21dinglei 发表于 2013-06-21 11:18

回复 17# Dsheng

呵呵,非常感谢了!
优先级好像不是关键问题,我层将实时优先级设到最高,效果也是一样的。
应该还是和调度有关系。
因为,系统粒度HZ调到1000之后,现象是有好转的,但是未能根除。

   

21dinglei 发表于 2013-06-21 11:27

回复 18# blake326

谢谢!长知识了,你说的,我大概看了些资料,但是还是有些不清楚。磁盘IO调度和hrtimer都和系统调度有关系,而磁盘IO调度和dev/文件有什么关系呢?hrtimer理解起来倒还是比较容易。能否较为详细的讲解一下?

谢谢!
   

blake326 发表于 2013-06-21 12:38

回复 20# 21dinglei


事件丢失的时候,查看下进程状态,系统负载,cfq负载
比如进程的调用堆栈dump_backtrace,进程状态。

Dsheng 发表于 2013-06-22 16:31

回复 19# 21dinglei
使用cyclictest测试一下系统的调度时延吧。

https://rt.wiki.kernel.org/index.php/Cyclictest



   

21dinglei 发表于 2013-06-25 14:18

回复 22# Dsheng

谢谢!通过改变系统粒度HZ=1000,现象有好转,在两个线程之间切换的时候暂未发现有丢失事件的情况,在网上找到一个Linux实时补丁,现在准备加上试试。
   

EZWORD 发表于 2013-06-25 19:13

一定要用信号?netlink,select不可以吗。

21dinglei 发表于 2013-06-26 10:30

回复 24# EZWORD
这些都是异步的,应该机制都是差不多的吧?我就做了两个典型,一个异步的信号,一个同步的input。

   

Dsheng 发表于 2013-06-26 11:10

回复 23# 21dinglei
我最近也在研究实时抢占补丁,一起交流:handshake


   

灌水菜鸟 发表于 2013-06-26 12:56

跟HZ无关,尝试中断线程化,无限提高用户态进程优先级。完全不丢比较难,可以参照tick把丢了的中断找补回来。

最后,在用户态玩这个真的很少见。

Dsheng 发表于 2013-07-09 23:22

回复 1# 21dinglei
楼主能不能说说最终解决方案啊,让我们也学习一下
:D

   
页: 1 2 [3] 4
查看完整版本: Linux中断响应,使用Linux信号传送机制,内核层发送信号至用户层