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

恩 非常在理
页: [1]
查看完整版本: 内核为什么没有提供获取当前中断状态的接口?