本文继续参照蜗窝大神的文档,采用4.19内核的代码学习,同时会有自己的一些举例和部分代码分析
http://www.wowotech.net/sort/irq_subsystem
一、前言
本文主要的议题是作为一个普通的驱动工程师,在撰写自己负责的驱动的时候,如何向Linux Kernel中的中断子系统注册中断处理函数?为了理解注册中断的接口,必须了解一些中断线程化(threaded interrupt handler)的基础知识,这些在第二章描述。第三章主要描述了驱动申请 interrupt line接口API request_threaded_irq的规格。第四章是进入request_threaded_irq的实现细节,分析整个代码的执行过程。
二、和中断相关的linux实时性分析以及中断线程化的背景介绍
1、非抢占式linux内核的实时性
在遥远的过去,linux2.4之前的内核是不支持抢占特性的,具体可以参考下图: