Chinaunix

标题: 2.6.10的中断处理分析 [打印本页]

作者: normalnotebook    时间: 2006-01-09 23:02
标题: 2.6.10的中断处理分析
我写的关于2.6.10的中断处理分析,请大家指正

如果发现有什么错误,请指正,让我们共同提高,谢谢!

中断处理.part1.rar

97.66 KB, 下载次数: 341

中断处理1

中断处理.part2.rar

97.66 KB, 下载次数: 327

中断处理1


作者: normalnotebook    时间: 2006-01-09 23:04
标题: 回复 1楼 normalnotebook 的帖子
每次只能100K

中断处理.part3.rar

97.66 KB, 下载次数: 287

中断处理3

中断处理.part4.rar

97.66 KB, 下载次数: 288

中断处理4


作者: normalnotebook    时间: 2006-01-09 23:05
又要狂郁闷一次,再来一次

中断处理.part5.rar

55.95 KB, 下载次数: 268

中断处理5


作者: albcamus    时间: 2006-01-11 14:04
期待softirq和timer interrupt!
尤其是timer interrupt, 在SMP上的处理, 令人大伤脑筋。

单独的PDF文档:

[ 本帖最后由 albcamus 于 2006-1-11 17:06 编辑 ]

中断处理.pdf

574.31 KB, 下载次数: 914

PDF文档


作者: 思一克    时间: 2006-01-11 16:49
to albcamus 斑竹,

最好不要让贴TAR,PDF等东西。不容易看。
作者: albcamus    时间: 2006-01-11 17:05
原帖由 思一克 于 2006-1-11 16:49 发表
to albcamus 斑竹,

最好不要让贴TAR,PDF等东西。不容易看。


BBS有些东西不好发的,感觉还是本地浏览好一些。 CU不支持一个页面浏览整个主题, 象一些详尽的文档可能上百页, 感觉还是PDF好一些
不过您一提醒偶想起来了,这个忘了放PDF文件上去了
作者: zjzf_1    时间: 2006-01-11 20:45
讲的非常底细  能看出搂主的对机器的了解:) 牛  楼主这个分析是用来做教材的吗?
作者: cz8384    时间: 2006-02-14 16:50
文档很工整,professional~
作者: yidou    时间: 2006-02-15 15:03
to albcamus,

尤其是timer interrupt, 在SMP上的处理, 令人大伤脑筋。


不明白. 你是指对系统timer interrupt的分析很伤脑筋, 还是我们在实现timer interrupt时很伤脑筋?
作者: albcamus    时间: 2006-02-15 15:10
原帖由 yidou 于 2006-2-15 15:03 发表
to albcamus,

不明白. 你是指对系统timer interrupt的分析很伤脑筋, 还是我们在实现timer interrupt时很伤脑筋?


IA-32(Pentium\P6\NetBurst Family)的timer interrupt, 亦即0号中断, 我一直没彻底弄明白, 特别在SMP机器上的。 比方说CPU收到0号中断时的调度, 这个是由Local APIC Timer的中断来管的(某处代码注释, 忘了在哪里了); 而我们说的时钟中断, 却应该是PIT(这个在主板上, 跟具体CPU无关)来计时的。 在SMP系统中, 全局PIT负责把0号中断dispatch到各个CPU的local APIC, 而local APIC自己又维护一个timer来负责0号中断……糊涂的紧
作者: 芝麻开门    时间: 2006-02-16 09:40
很好的读书笔记,我一直要找这样的东西,望继续努力,将该文继续完善加入其他章节
作者: albcamus    时间: 2006-02-16 09:49
原帖由 albcamus 于 2006-2-15 15:10 发表


IA-32(Pentium\P6\NetBurst Family)的timer interrupt, 亦即0号中断, 我一直没彻底弄明白, 特别在SMP机器上的。 比方说CPU收到0号中断时的调度, 这个是由Local APIC Timer的中断来管的(某处代码注释, 忘 ...



代码注释在arch/i386/kernel/apic.c中,smp_local_timer_interrupt函数。 看ULK2, 有些主板有BUG, 导致local APIC Timer不工作, 这时只好用UP方式来触发0号中断, 也就是把PIT的中断通过IO-APIC broadcast到各个CPU的local APIC中。

应该就是这样了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2