Re: [问题] 关于 kernel driver interrupt ISR

楼主: clampsakura (妖應封光)   2017-04-07 00:20:46
※ 引述《waterdisney (想要征服的世界)》之铭言:
WorkQueue这边不会受到CFS影响 ?
我所知道的WorkQueue也是kernel thread.
thread只要彼此有比较需要久一点完成的就会互相影响
例如原作者因为他的THREAD常常 active
也就是他用的runtime其实是比较多的
当有其他thread起来 为了保证公平性 通常会优先service其他的.
WorkQueue还会受到其他workqueue影响.
而如果这时其他TASK就是需要比较多CPU资源 就只能等他耗到他想睡
或者他用完他的RUNTIME.
常常在user task看到有那种抢很久的超过1 schedule time slice.
(10ms for 100Hz). 都靠多核心解决
当然CODE写不好是一回事情 很多CODE都不是用SIGIO在达到fast async处理
都把CPU占据着当作是自己的
即使把TASK等级拉到 real time task仍然还是有此类问题
有些CODE已经陈年躺在那里 也没人敢动他~~~ORZ
即便是periodic timer仍然会有挂在TIMER LIST间的彼此影响
如果真的要那么即时 就只能用HIGH PRIORITY中断
类似ARM FIQ 然后中断可以彼此PREEMPT 而挂在这上面的Services少到可以MEASURE
出时间,才有办法达到要求吧?
单核心的环境比较严苛 虽然现在时脉很高了
但跑BROWSER这种又大又肥的软件 还是不够用

Links booklink

Contact Us: admin [ a t ] ucptt.com