首页
›
Linux内核与驱动
›
190-Linux驱动调试与优化
›
《Linux驱动等待队列:从阻塞IO到中断唤醒优化》
VIP10
本课程属于:190-Linux驱动调试与优化
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux驱动等待队列:从阻塞IO到中断唤醒优化
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
阻塞IO与非阻塞IO的概念 · 等待队列在驱动中的核心作用 · 课程学习目标与前置知识
课程导论
IO
02
Linux进程调度基础
进程状态(TASK_RUNNING/… · 进程上下文切换 · 调度器与等待队列的关系
Linux
进程调度基础
03
等待队列核心数据结构
wait_queue_head_t结… · wait_queue_entry_t… · flags与private字段的作用
等待队列核心数据…
wait
04
等待队列初始化
静态初始化(DECLARE_WAIT… · 动态初始化(init_waitque… · 使用场景对比
等待队列初始化
DECLARE
05
等待队列添加与移除
add_wait_queue · remove_wait_queue · add_wait_queue_exc…
等待队列添加
移除
06
等待事件宏(wait_event)
wait_event · wait_event_interru… · wait_event_timeout
wait
event
07
等待事件宏(wait_event 进阶)
wait_event_exclusi… · wait_event_interru… · wait_event_freezab…
wait
event
08
唤醒机制(wake_up)
wake_up · wake_up_interrupti… · wake_up_nr
wake
up
09
独占等待与非独占等待
独占等待(WQ_FLAG_EXCLU… · 唤醒行为差异 · 避免惊群效应的原理
独占等待
非独占等待
10
等待队列的自旋锁保护
wait_queue_head_t中… · 自旋锁在添加/移除/唤醒中的作用 · 中断上下文中的锁使用注意事项
等待队列的自旋锁…
wait
11
阻塞IO驱动实现(字符设备)
实现一个简单的字符设备驱动 · read/write操作使用等待队列…
IO
阻塞
12
阻塞IO用户态测试
编写用户态应用程序测试阻塞read/… · 使用open的O_NONBLOCK标…
IO
阻塞
13
中断处理基础
Linux中断子系统简介 · request_irq/thread… · 中断上下文与进程上下文的区别
断处理基础
Linux
14
中断下半部机制
tasklet · workqueue · 软中断(softirq)在等待队列唤…
断下半部机制
tasklet
15
中断唤醒等待队列(基础)
在中断处理函数中调用wake_up_… · 唤醒等待在read上的进程
断唤醒等待队列
wake
16
中断唤醒等待队列(实战)
编写一个GPIO按键驱动 · 使用等待队列实现按键事件的阻塞读取
断唤醒等待队列
GPIO
17
原子操作与等待队列
在中断中使用atomic_t标志位配… · 避免丢失唤醒事件
原子操作
等待队列
18
等待队列超时处理
使用wait_event_timeo… · 处理设备无响应的情况
等待队列超时处理
wait
19
等待队列与poll/select/epoll
驱动中实现poll函数 · 使用poll_wait将等待队列头注…
poll/select/…
等待队列
20
等待队列与fasync(异步通知)
驱动中实现fasync · 使用kill_fasync发送SIG… · 配合等待队列实现异步IO
fasync
等待队列
21
等待队列与completion
completion机制的内部实现(… · 与直接使用等待队列的对比
completion
等待队列
22
等待队列与kthread
在内核线程中使用wait_event… · 避免忙等待
kthread
等待队列
23
等待队列与RCU
在等待队列遍历中使用RCU保护 · 提高多核并发性能
RCU
等待队列
24
等待队列调试技巧
使用/proc/waitqueues… · ftrace跟踪等待队列事件 · dump_stack分析死锁
等待队列调试技巧
proc/waitque…
25
等待队列性能优化
减少唤醒时的锁竞争 · 使用独占等待减少惊群 · 批量唤醒策略
等待队列性能优化
减少唤醒时的锁竞…
26
等待队列与实时性
PREEMPT_RT下的等待队列行为… · 优先级反转与等待队列 · 使用futex替代等待队列的场景
等待队列
实时性
27
等待队列与DMA
在DMA完成中断中唤醒等待队列 · 实现DMA传输的同步等待
DMA
等待队列
28
等待队列与网络驱动
在NAPI轮询中结合等待队列实现数据…
等待队列
网络驱动
29
等待队列与USB驱动
在URB完成回调中唤醒等待队列 · 实现USB批量传输的阻塞等待
USB
等待队列
30
课程总结与进阶
等待队列设计模式总结 · 常见错误(丢失唤醒 · 死锁
课程总结
进阶
所属VIP或分类
同VIP:Linux驱动DMA传输:中断协同与缓存一致性调试
同VIP:Linux驱动DMA传输:环形缓冲区设计与中断协同调试
同VIP:Linux驱动mmap与DMA共享传输开发