ARM有七种模式,我们这里只讨论SVC、IRQ和FIQ模式。
我们可以假设ARM核心有两根中断引脚(实际上是看不见的),一根叫 irq pin, 一根叫fiq pin。在ARM的cpsr中,有一个I位和一个F位,分别用来禁止IRQ和FIQ。
今天我们看一看内核锁机制引起的一类稳定性问题:soft lockup。
用 crash tool 解析出的信息如下:
今天我们看一看内核对长期处于睡眠状态的进程的一种监测机制:hung task。
用 crash tool 解析出的结果如下:
x86架构相关的内存序及内存屏障知识,参阅《Intel SDM之Memory Ordering》。
本文为Arm Developer《Learn the architecture-Memory Systems,Ordering,and Barriers》的翻译(https://developer.arm.com/documentation/102336/0100?lang=en)。
本文非常之好,回答了我对于啥是“观察者”、啥是“Shareability domain”以及啥是“访问完成”的定义性困惑。那些讲内存屏障但不先讲清楚以上这些基础概念的文章都拉黑吧,因为作者只是在机械地背诵,而不是真正的理解了;或者作者压根就没思考过底层细节,因为但凡思考过,这些基础概念必然是跳不过去的。
相对而言,Intel spec行文要严谨、易读一些,Arm spec略显诘诎聱牙(当然本文严格意义上不算是spec,只是一篇guide),可能是语言表达习惯问题。
© 2024 VxWorks Club