哪有实时Linux的指标情况

ffxz
非飞·奋发中 2013-03-18 字数 94

记得版上有人讨论过来着

中断响应时间情况(最小、平均、最大),硬件环境情况等等。需要指标来做对比

Embedded 嵌入式系统
29 个回复
solofox
孤独的狐狸 2013-03-18

很久以前ms看过,你查一查vxwork相关的文档?

【 在 ffxz (非飞·奋发中) 的大作中提到: 】

: 记得版上有人讨论过来着

: 中断响应时间情况(最小、平均、最大),硬件环境情况等等。需要指标来做对比

zengweimin
future 2013-03-18

这是一个古老的话题

假设使用默认优化编译开关, 相同MCU性能: 包括CPU CORE, MHz, CACHE, bus, DRAM...

还受其它N多编译开关的影响, 包括是否使用某些profile的工具, 会使得系统明显变慢

更显著的是, 有些驱动代码把中断给关掉了, 这要关了多少时间, 得看具体情况.....

如果把上面问题都搞清楚了, 剩下的, 或许就是MMU得空间切换过程, 包括CACHE FLUSH的过程关中断所花得时间.

要研究这种问题, 需要把所有场景加以分析. 另外, 相关代码, 及其功能不断变化, 旧的数据, 恐怕有些过时.

那种毫不加区分, 上来就测量得方法, 显然是不妥当的.

此话题, 个人理解, 更值得深层次的思考是: 一次中断, 直到对应高优先级TASK得到CPU得时间延迟会是怎么规律?  这牵涉得内容, 比中断要复杂得多.

当然, 中断这个冬冬, 在SMP得时候, 貌似光硬件MODEL就很复杂.....

【 在 ffxz 的大作中提到: 】

: 记得版上有人讨论过来着

: 中断响应时间情况(最小、平均、最大),硬件环境情况等等。需要指标来做对比

ffxz
非飞·奋发中 2013-03-18

兄弟,没这么复杂呐

测试有专门的工具: Cyclictest https://rt.wiki.kernel.org/index.php/Cyclictest

这类测试也不能说非常科学(例如generic版本,关中断无数),响应时间平均接近2s。

但对于打过RT patch的版本依然有部分参考价值,因为内核中就限制应用层不可能关闭这么长时间的中断了,同时测试时也使用洪水ping网络报文进行冲击加重系统负载。

使用了RT-Preempt补丁后,实时方面的效果确实比较明显,但基本在ARM上最坏情况也要到100us这个数量级了。

【 在 zengweimin 的大作中提到: 】

: 这是一个古老的话题

: 假设使用默认优化编译开关, 相同MCU性能: 包括CPU CORE, MHz, CACHE, bus, DRAM...

: 还受其它N多编译开关的影响, 包括是否使用某些profile的工具, 会使得系统明显变慢

: ...................

zengweimin
future 2013-03-18

补丁?

现在得android得linux kernel还需要专门打补丁么? 不是已经是表配了么?

另外, 应用是指应用程序么? 应用程序可以关中断?

【 在 ffxz 的大作中提到: 】

: 兄弟,没这么复杂呐

: 测试有专门的工具: Cyclictest https://rt.wiki.kernel.org/index.php/Cyclictest

: 这类测试也不能说非常科学(例如generic版本,关中断无数),响应时间平均接近2s。

: ...................

ffxz
非飞·奋发中 2013-03-18

确定是标配吗?

Android Linux的实时性就是个渣,渣得不能再渣!

Generic Linux,应用程序也不能关中断,不过加了RT补丁后,原来关中断的地方都变成

不关中断了。

【 在 zengweimin (future) 的大作中提到: 】

: 补丁?

: 现在得android得linux kernel还需要专门打补丁么? 不是已经是表配了么?

: 另外, 应用是指应用程序么? 应用程序可以关中断?

zengweimin
future 2013-03-18

官网下载的或者android的 linux kernel, make menuconfig

貌似都能看到RT-PREEMPT 功能编译选项开关

这个算不算标配?

【 在 ffxz 的大作中提到: 】

: 确定是标配吗?

: Android Linux的实时性就是个渣,渣得不能再渣!

: Generic Linux,应用程序也不能关中断,不过加了RT补丁后,原来关中断的地方都变成

: ...................

threewater
吃饱了混天黑 2013-03-20

我这篇文章有评测,当时是07年,在pxa270平台上的测试的。

详细对比和讨论了中断响应时间,包括:Linux、RTAI和我自己的一个实现。

http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5483285&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F12%2F5779908%2F05483285.pdf%3Farnumber%3D5483285

【 在 ffxz (非飞·奋发中) 的大作中提到: 】

: 记得版上有人讨论过来着

: 中断响应时间情况(最小、平均、最大),硬件环境情况等等。需要指标来做对比

ffxz
非飞·奋发中 2013-03-20

看PDF还需要31$呐

tp=&arnumber=5483285&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F12%2F577990

8%2F05483285.pdf%3Farnumber%3D5483285

【 在 threewater (吃饱了混天黑) 的大作中提到: 】

: 我这篇文章有评测,当时是07年,在pxa270平台上的测试的。

: 详细对比和讨论了中断响应时间,包括:Linux、RTAI和我自己的一个实现。

http://ieeexplore.ieee.org/xpl/login.jsp?

ffxz
非飞·奋发中 2013-03-20

是魏老师的学生?找到一份你写的,

Implementing Hybrid Operating Systems with Two-Level Hardware Interrupts

你下面链接中的论文还未搜索得到

你这样实现的方式正和我设想的有些类似,可参考下,thanks。

tp=&arnumber=5483285&url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F12%2F577990

8%2F05483285.pdf%3Farnumber%3D5483285

【 在 threewater (吃饱了混天黑) 的大作中提到: 】

: 我这篇文章有评测,当时是07年,在pxa270平台上的测试的。

: 详细对比和讨论了中断响应时间,包括:Linux、RTAI和我自己的一个实现。

http://ieeexplore.ieee.org/xpl/login.jsp?

threewater
吃饱了混天黑 2013-03-21

他师弟。留email,发给你。

【 在 ffxz 的大作中提到: 】

: 是魏老师的学生?找到一份你写的,

: Implementing Hybrid Operating Systems with Two-Level Hardware Interrupts

: 你下面链接中的论文还未搜索得到

: ...................

AntiWorldCup
梅山之西 2013-03-22

android又不是实时操作系统,没有实时性可言啊

【 在 ffxz 的大作中提到: 】

: 确定是标配吗?

: Android Linux的实时性就是个渣,渣得不能再渣!

: Generic Linux,应用程序也不能关中断,不过加了RT补丁后,原来关中断的地方都变成

: ...................

zengweimin
future 2013-03-22

你在android上写过实时程序吗?

有玩android玩的比较好的人来说说她的实时性么?  还是没有玩过的在瞎说.

从2006年之后, 有一些NB的公司, 一直在修改kernel, 最近1年的版本, 怎么看都象RTOS的超集.

1. 中断返回, 不再区分user mode & SVC MODE, 即便kernel中, 也会进入scheduer, 从而高优先级的task可以抢到CPU资源

2. task分为普通的fair类型和real time类型. 各自使用自己的调度器.

3. 如果android中一个task在创建时, 选择了real time的类型的, 有谁能帮助证明一下, 她和RTOS有什么区别吗?

【 在 AntiWorldCup 的大作中提到: 】

: android又不是实时操作系统,没有实时性可言啊

ffxz
非飞·奋发中 2013-03-22

不尽然啊,

例如说一个实时中断,需要系统对这个中断的响应做到100us以内,Android能保证吗?

100us可能有些苛刻,那么1ms呢?

RTOS的超集.

【 在 zengweimin (future) 的大作中提到: 】

: 你在android上写过实时程序吗?

: 有玩android玩的比较好的人来说说她的实时性么?  还是没有玩过的在瞎说.

: 从2006年之后, 有一些NB的公司, 一直在修改kernel, 最近1年的版本, 怎么看都象

: ...................

zengweimin
future 2013-03-22

前面我已经说了android长的已经象RTOS了, 你说的这个100us, 算问题么?

linux 已经内驻了一些NB的工具, 能够图像化的分析这些冬冬. (之前有五华八门乱7八糟的工具, 但需要打patch)

尤其最近一年来, 不断在变化.

以个人之间, 100us / 1GHz 太小菜一碟了...... 不信自己玩玩, 或者读一下(或者跟踪一下)linux中断程序就明白了

【 在 ffxz 的大作中提到: 】

: 不尽然啊,

: 例如说一个实时中断,需要系统对这个中断的响应做到100us以内,Android能保证吗?

: 100us可能有些苛刻,那么1ms呢?

: ...................

nuptguizi
此人白字容 2013-03-22

CPU再快未必能保证一定100us把。。。

【 在 zengweimin (future) 的大作中提到: 】

: 标  题: Re: 哪有实时Linux的指标情况

: 发信站: 水木社区 (Fri Mar 22 13:02:29 2013), 站内

: 前面我已经说了android长的已经象RTOS了, 你说的这个100us, 算问题么?

: linux 已经内驻了一些NB的工具, 能够图像化的分析这些冬冬. (之前有五华八门乱7八糟的工具, 但需要打patch)

: 尤其最近一年来, 不断在变化.

: 以个人之间, 100us / 1GHz 太小菜一碟了...... 不信自己玩玩, 或者读一下(或者跟踪一下)linux中断程序就明白了

: 【 在 ffxz 的大作中提到: 】

: : 不尽然啊,

: : 例如说一个实时中断,需要系统对这个中断的响应做到100us以内,Android能保证吗?

: : 100us可能有些苛刻,那么1ms呢?

: : ...................

: --

solofox
孤独的狐狸 2013-03-22

快只是一方面,确定性更加重要

【 在 zengweimin (future) 的大作中提到: 】

: 前面我已经说了android长的已经象RTOS了, 你说的这个100us, 算问题么?

: linux 已经内驻了一些NB的工具, 能够图像化的分析这些冬冬. (之前有五华八门乱7八糟的工具, 但需要打patch)

: 尤其最近一年来, 不断在变化.

: ...................

zengweimin
future 2013-03-22

先说一下你玩过这个没有?

至少你阅读一下最近半年的linux kernel版本中的中断程序 ~ 调度程序

搞明白了, 再来讨论这个问题

【 在 nuptguizi 的大作中提到: 】

: CPU再快未必能保证一定100us把。。。

nuptguizi
此人白字容 2013-03-22

。。。玩过。谢谢

没说不够快快是够快,问题是不能保证百分之百。。。

【 在 zengweimin (future) 的大作中提到: 】

: 先说一下你玩过这个没有?

: 至少你阅读一下最近半年的linux kernel版本中的中断程序 ~ 调度程序

: 搞明白了, 再来讨论这个问题

: ...................

zengweimin
future 2013-03-22

我已经说了, android已经长的象RTOS了, 什么叫做确定性?

你当改linux kernel的人看不懂RTOS的原理么?

不就是

1. 限制&监视关中断时间

2. 退出中断, 无论user mode & svc mode, 必须从新进调度, 并使得高优先级的task获得CPU,(当前task禁止调度的情况除外)

3. linux kernel官方版本不仅仅最近大修改, 而且内部集成了NB的工具, 直接使用就好....

能够非常便利的监视关中断的时间, 调度&抢占发生的细节

RTOS 也就是100数量级别的task, android, 有上万个,.... 分为普通task , 以及实时task, 还好相关的显示工具, gtkwave很nb, 能高亮显示task 被wakeup直到CPU执行的细节时间. 当然也能观察到中断发生和退出的时刻...

技术是变化的, 只要有需求, 就会有N多NB的人去做, 惟独抱着旧的想法就不太对....

建议你最好用用再说, 或者study一下相关代码,

....

【 在 solofox 的大作中提到: 】

: 快只是一方面,确定性更加重要