Chinaunix

标题: 内核为什么没有提供获取当前中断状态的接口? [打印本页]

作者: cpu0018    时间: 2015-04-28 14:58
标题: 内核为什么没有提供获取当前中断状态的接口?
内核为什么没有提供获取当前中断状态的接口?

如果有的话,就可以先得知当前中断是开启还是关闭,然后再决定后续要不要关闭还是开启。
作者: nswcfd    时间: 2015-04-28 21:44
本帖最后由 nswcfd 于 2015-04-30 16:08 编辑

有吧,x86上读一下eflags不就知道了?
2.6.X内核:raw_irqs_disabled,不过基本上没有什么逻辑在使用这个接口。

判断(是否关中断) + 动作(开中断或者关中断)之间 是有时间窗口的,这样很容易造成中断的实际状态跟预期的不一致?
使用irq_save + irq_restore更保险一些吧?(关中断的临界区)
作者: amarant    时间: 2015-04-29 12:04
local_irq_save/local_irq_restore
lz是不是要这个功能呀
作者: cpu0018    时间: 2015-04-30 10:35
回复 3# amarant


    不是的,save/restore 这一对接口我知道的。2楼讲的有点道理,是存在一个时间窗口。
作者: amarant    时间: 2015-05-01 10:51
恩 非常在理




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