当前位置: 技术问答>linux和unix
Linux 系统中的中断是不是没有中断优先级
来源: 互联网 发布时间:2017-01-22
本文导语: Linux在处理中断时,会禁止其他中断,若有中断优先级,应该不能禁止中断。 | 1)linux响应中断后,将响应程序分成两部分:顶部和底部;在执行完顶部后,就打开中断(清掉了相关的中断标志...
Linux在处理中断时,会禁止其他中断,若有中断优先级,应该不能禁止中断。
|
1)linux响应中断后,将响应程序分成两部分:顶部和底部;在执行完顶部后,就打开中断(清掉了相关的中断标志);底部由系统调度运行,底部运行时,允许其他中断;
2)如果在申请中断request_iqr()时,使用了参数IRQF_DISABLED,则在调用中断处理函数时,屏蔽所有中断,直到全部运行完毕,从而使中断得到快速执行;
3)在linux-2.6.24之后,参数SA_INTERRUPT已经被IRQF_DISABLED取代。
2)如果在申请中断request_iqr()时,使用了参数IRQF_DISABLED,则在调用中断处理函数时,屏蔽所有中断,直到全部运行完毕,从而使中断得到快速执行;
3)在linux-2.6.24之后,参数SA_INTERRUPT已经被IRQF_DISABLED取代。
|
看你申请的是快速中断还是慢速中断了,快速中断执行时禁止其他所有中断。
在 request_irq()中的flags参数的SA_INTERRUPT位,当这位被置时,表明申请了快速中断。
在 request_irq()中的flags参数的SA_INTERRUPT位,当这位被置时,表明申请了快速中断。