摘要: 代码 1 概述 避免workqueue中存在多个work会导致后面的work执行存在受前面工作的影响 在中断下半部专门申请一个内核线程来处理这个事件,这个内核线程专门用于此中断 1.1 内部机制 设备发生中断时内核会调用handler处理中断事件(如果中断函数存在)。中断处理完成后,如果有需要的中断 阅读全文
posted @ 2023-03-19 16:48 人民广场的二道贩子 阅读(33) 评论(0) 推荐(0)
摘要: 代码 编程指南 构造workqueue 将workqueue放入队列,开始调度 1 工作机制 内核线程(while(1))中对去判定是否存在workqueue;如果不存在择休眠; 如果存在workqueue则等待wake up事件唤醒workqueue,然后执行workqueue中的fun 1.1 阅读全文
posted @ 2023-03-19 16:46 人民广场的二道贩子 阅读(27) 评论(0) 推荐(0)
摘要: 代码 1 tasklet调度机制 task属于软中断,有HI_SOFTIRQ和TASKLET_SOFTIRQ两种类型。tasklet又名“小任务”,所以过于复杂的操作一般交给workqueue或其他机制实现 中断下半部softirq_init中会调用tasklet_hi_action或tasklet 阅读全文
posted @ 2023-03-19 16:41 人民广场的二道贩子 阅读(31) 评论(0) 推荐(0)