- 主题:Linux应用需要精度1毫秒的定时器,有什么方案?
- 只要会进入内核态,在非实时的 linux 里面就有可能卡很久。
 
 【 在 chunhui 的大作中提到: 】
 : 我说的就是这个意思。用一个孤立核心上的线程疯狂轮询频率寄存器。。。
 --
 FROM 117.24.95.*
 
- 把那个核心孤立出来只给它一个线程用。关键还是看对实时性要求到底有多严格。是不是要命的场景。
 【 在 hgoldfish 的大作中提到: 】
 : 只要会进入内核态,在非实时的 linux 里面就有可能卡很久。
 --
 FROM 121.69.86.*
 
- 要命的应用不放PLC放PC里?
 
 流行的思路是上微服务,堆一万台PC保高可用,但不保实时性。
 
 【 在 chunhui 的大作中提到: 】
 : 把那个核心孤立出来只给它一个线程用。关键还是看对实时性要求到底有多严格。是不是要命的场景。
 --
 FROM 123.103.9.*
 
- 这个我不懂。我还没见过一万台pc。。
 【 在 lipp 的大作中提到: 】
 : 要命的应用不放PLC放PC里?
 : 流行的思路是上微服务,堆一万台PC保高可用,但不保实时性。
 --
 FROM 121.69.86.*
 
- 好吧好吧,3台。
 
 【 在 chunhui 的大作中提到: 】
 : 这个我不懂。我还没见过一万台pc。。
 --
 FROM 123.103.9.*
 
- 跟内核态也没关系。
 内核态一样做不到。
 【 在 chunhui 的大作中提到: 】
 : 我没试过轮询那种方法。要求不高凑合一下或许可以。真正严格准确定时器肯定要内核才行。
 --
 FROM 180.111.50.*
 
- 孤立一个核心出来也没用。
 【 在 chunhui 的大作中提到: 】
 : 把那个核心孤立出来只给它一个线程用。关键还是看对实时性要求到底有多严格。是不是要命的场景。
 --
 FROM 180.111.50.*
 
- 孤立核心为啥不行?是被执行那个过程会被调度?
 
 不是放内核里,我是说实时内核。也做不到?
 【 在 lvsoft 的大作中提到: 】
 : 孤立一个核心出来也没用。
 --
 修改:chunhui FROM 121.69.86.*
 FROM 121.69.86.*
 
- 跟调度没关系,这个是linux内核+x86系统的双重复杂性因素导致的。
 
 如果只是内核态独立一个核心出来就能解决问题,那你觉得rt kernel还有啥价值嘛。
 
 所以说了,直接上rt kernel。rt不是这么简单的东西,至少里面很多坑都已经被人踩过了。
 【 在 chunhui 的大作中提到: 】
 : 孤立核心为啥不行?是被执行那个过程会被调度?
 : 不是放内核里,我是说实时内核。也做不到?
 --
 FROM 180.111.50.*
 
- 别说linux了,就真实时系统1ms都是个不小的挑战。
 
 【 在 liuxueshen 的大作中提到: 】
 : 没用,linux本身计时器有误差,加上系统本身不是实时的,1ms基本不可能。
 : 否则用gettimeofday就行,里面有微秒。
 :
 --
 FROM 213.95.148.*