首页
›
Linux内核与驱动
›
118-Linux设备驱动
›
《工作队列workqueue实战:延迟任务调度与内核线程绑定》
VIP10
本课程属于:118-Linux设备驱动
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
工作队列workqueue实战:延迟任务调度与内核线程绑定
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
工作队列基础概念
什么是workqueue · work · worker
工作队列基础概念
workqueue
02
工作队列与软中断/tasklet的对比
执行上下文 · 可睡眠性 · 并发度
tasklet
工作队列
03
内核工作队列架构演进
从单线程workqueue到CMWQ…
内核工作队列架构…
workqueue
04
CMWQ核心数据结构
struct worker_pool · struct worker · struct work_struct
CMWQ
核心数据结构
05
工作队列初始化
alloc_workqueue()… · WQ_MEM_RECLAIM等)
工作队列初始化
alloc
06
创建工作项
INIT_WORK · INIT_DELAYED_WORK宏…
创建工作项
INIT
07
提交普通工作
queue_work() · queue_work_on() 函数…
提交普通工作
queue
08
延迟工作调度
queue_delayed_work…
延迟工作调度
queue
09
取消工作项
cancel_work_sync() · cancel_delayed_wor…
取消工作项
cancel
10
刷新工作队列
flush_workqueue() · flush_work() · drain_workqueue()…
刷新工作队列
flush
11
工作项状态机
work项的生命周期(IDLE · PENDING · BUSY)与状态转换图
工作项状态机
work
12
内核线程绑定机制
worker_pool与per-CP… · 如何将work绑定到指定CPU
内核线程绑定机制
worker
13
WQ_UNBOUND标志详解
非绑定工作队列的线程池管理 · NUMA感知与动态线程创建
WQ
UNBOUND
14
WQ_HIGHPRI与WQ_CPU_INTENSIVE
优先级控制与CPU密集型任务的隔离策…
WQ
HIGHPRI
15
WQ_MEM_RECLAIM与内存回收
在内存压力下保证工作队列可执行性的f…
WQ
MEM
16
延迟工作内部实现
delayed_work结构体 · timer回调函数如何将work移入…
延迟工作内部实现
delayed
17
工作队列与并发控制
max_active参数对并发工作项…
工作队列
并发控制
18
工作队列与锁
在work函数中使用spinlock… · 以及死锁案例分析
工作队列
work
19
工作队列与中断上下文
在中断处理函数中调度work的典型模…
工作队列
断上下文
20
工作队列与定时器结合
使用mod_delayed_work… · 实现超时重试机制
工作队列
定时器结合
21
自定义工作队列线程
通过alloc_ordered_wo… · 保证任务顺序执行
自定义工作队列线…
alloc
22
工作队列调试接口
/sys/kernel/debug/… · 以及/proc/sched_debu…
工作队列调试接口
sys/kernel/d…
23
工作队列性能调优
调整worker_pool线程数量 · max_active参数对吞吐量的影…
工作队列性能调优
worker
24
工作队列与CPU热插拔
CPU offline时worker…
CPU
工作队列
25
工作队列与电源管理
在suspend/resume过程中…
工作队列
电源管理
26
实战案例1
使用delayed_work实现设备… · 每100ms检查硬件状态
实战案例1
delayed
27
实战案例2
使用queue_work_on将不同… · 实现负载均衡
实战案例2
queue
28
实战案例3
使用WQ_UNBOUND + WQ_…
实战案例3
WQ
29
实战案例4
使用cancel_delayed_w…
实战案例4
cancel
30
工作队列最佳实践与常见陷阱
内存泄漏 · 工作项重复提交 · 死锁
工作队列最佳实践
常见陷阱
所属VIP或分类
同VIP:I2C驱动开发实战:从设备地址探测到寄存器读写
同VIP:Linux设备驱动常见问题:从内存泄漏到竞态条件排查思路
同VIP:Linux设备驱动开发与内核模块动态部署