多核处理中断的一个小细节
linux在处理一个中断时,对检查IRQ_INPROGRESS是否被设置。当它被设置时,也就是说现有有另外一个cpu在处理这个中断。linux将不会在当前cpu上运行中断处理服务例程,而是将中断发给正在处理这个中断的cpu进行处理。这样做有两个好处:一是中断处理的服务例程不必要是可重入的,二是可以提高运行的效率,因为中断服务例程刚才在cpu上运行过,cpu可以充分利用前面处理用到的资源,像cach
·
linux在处理一个中断时,对检查IRQ_INPROGRESS是否被设置。当它被设置时,也就是说现有有另外一个cpu在处理这个中断。linux将不会在当前cpu上运行中断处理服务例程,而是将中断发给正在
处理这个中断的cpu进行处理。这样做有两个好处:一是中断处理的服务例程不必要是可重入的,二是可以提高运行的效率,因为中断服务例程刚才在cpu上运行过,cpu可以充分利用前面处理用到的资源,
像cache等。
2009/01/21 三
更多推荐
已为社区贡献1条内容
所有评论(0)