
Linux_kernel中断子系统
晴天_QQ
嵌入式软件开发工程师
展开
-
linux kernel的中断子系统之softirq
一、前言对于中断处理而言,linux将其分成了两个部分,一个叫做中断handler(top half),是全程关闭中断的,另外一部分是deferable task(bottom half),属于不那么紧急需要处理的事情。在执行bottom half的时候,是开中断的。有多种bottom half的机制,例如:softirq、tasklet、workqueue或是直接创建一个kernel threa...转载 2018-07-01 12:48:24 · 373 阅读 · 0 评论 -
linux kernel的中断子系统之tasklet
一、前言对于中断处理而言,linux将其分成了两个部分,一个叫做中断handler(top half),属于不那么紧急需要处理的事情被推迟执行,我们称之deferable task,或者叫做bottom half。具体如何推迟执行分成下面几种情况:1、推迟到top half执行完毕;2、推迟到某个指定的时间片(例如40ms)之后执行;3、推迟到某个内核线程被调度的时候执行;对于第一种情况,内核中的...转载 2018-07-08 09:51:34 · 212 阅读 · 0 评论 -
Linux中断处理的下半部之workqueue
一、前言workqueue是一个驱动工程师常用的工具,在旧的内核中(指2.6.36之前的内核版本)workqueue代码比较简单(大概800行),在2.6.36内核版本中引入了CMWQ(Concurrency Managed Workqueue),workqueue.c的代码膨胀到5000多行,为了深入的理解CMWQ,单单一份文档很难将其描述的清楚,因此CMWQ作为一个主题将会产生一系列的文档,本...转载 2018-07-15 13:41:00 · 1245 阅读 · 0 评论