发布时间:2014-06-04 14:15:00
转载请注明出处:wloveg.blog.chinaunix.net7.tasklet如前一小节所述,判断一个类型的软中断处理函数是否可以执行的条件是软中断挂起位图__softirq_pending的相应bit是否被置1。在多处理器系统中,每个处理器拥有各自的软中断挂起位图__softirq_pending变量。由于执行软中断过程中是开启本地处理器的硬件中断并禁.........【阅读全文】
发布时间:2014-06-04 14:14:55
转载请注明出处:wloveg.blog.chinaunix.net6.软中断前面小节介绍了中断处理流程,确切地说是硬中断处理流程。内核出于性能等方面的考虑,将中断分为两部分:上半部处理中断中需要及时响应且处理时间较短的部分,下半部用于处理对响应时间要求不高且处理时间可能较长的部分。本节将主要介绍中断下半部的.........【阅读全文】
发布时间:2014-06-04 14:12:35
1.中断和异常中断可分为同步(synchronous)中断和异步(asynchronous)中断:(1)同步中断又称为异常,是当指令执行时由CPU控制单元产生,之所以称为同步,是因为只有在一条指令执行完成后CPU才会发出中断。典型的异常有缺页和除0。(2)异步中断是指由其他硬件设备依照CPU时钟信号随机产生。1.1 ARM异.........【阅读全文】
发布时间:2014-06-04 14:04:31
分析了ET和LT的实现方式,那么分析他们的触发方式就容易多了。我们通过实现分析知道LT模式下epoll_wait被唤醒可以通过两种方式(图中红线和蓝线),而ET模式只能通过一种方式(图中红线)。所以ET模式下能被唤醒的情况,LT模式下一定也能被唤醒。我们先来讨论特殊情况(ET模式),再来讨论一般情况(LT模式)。2.1 .........【阅读全文】
发布时间:2014-06-04 14:03:40
转载请注明出处:wloveg.blog.chinaunix.net5.中断处理流程回顾第一节所讲的内容,当一个异常或中断发生时,处理器会将PC设置为特定地址,从而跳转到已经初始化好的异常向量表。因此,要理清中断处理流程,先从异常向量表开始。对于ARM Linux而言,异常向量表和异常处理程序都存在arch/arm/kernel/entry_armv.S.........【阅读全文】