首页
›
Linux内核与驱动
›
025-Linux内核驱动调试
›
《Linux驱动并发竞态调试:自旋锁与互斥锁死锁实战分析》
VIP10
本课程属于:025-Linux内核驱动调试
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux驱动并发竞态调试:自旋锁与互斥锁死锁实战分析
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
并发与竞态基础
什么是并发 · 竞态条件(Race Conditio…
并发
竞态基础
02
临界区与保护机制
临界区概念 · 保护原则 · 原子操作与锁的引入
临界区
保护机制
03
自旋锁原理(spinlock)
自旋锁的工作机制 · 忙等待特性 · 适用场景(短临界区
spinlock
自旋锁原理
04
互斥锁原理(mutex)
互斥锁的工作机制 · 睡眠等待特性 · 适用场景(长临界区
mutex
互斥锁原理
05
自旋锁与互斥锁对比
性能 · 上下文要求 · 中断上下文限制
自旋锁
互斥锁对比
06
自旋锁API详解
spin_lock/spin_unl… · spin_lock_irqsave/… · spin_lock_bh
API
自旋锁
07
互斥锁API详解
mutex_lock/mutex_u… · mutex_lock_interru… · mutex_trylock
API
互斥锁
08
死锁定义与必要条件
死锁的四大必要条件(互斥 · 持有并等待 · 不可剥夺
死锁定义
必要条件
09
自旋锁死锁场景1
递归加锁(同一上下文重复获取同一自旋…
自旋锁死锁场景1
递归加锁
10
自旋锁死锁场景2
中断上下文与进程上下文竞争(中断处理…
自旋锁死锁场景2
断上下文
11
互斥锁死锁场景1
ABBA锁顺序问题(两个线程以相反顺…
互斥锁死锁场景1
ABBA
12
互斥锁死锁场景2
递归加锁(mutex不支持递归 · 同一线程重复lock导致死锁)
互斥锁死锁场景2
mutex
13
混合死锁场景
自旋锁与互斥锁混合使用导致的复杂死锁
混合死锁场景
自旋锁
14
死锁检测工具
lockdep(内核锁依赖检测器)原…
死锁检测工具
lockdep
15
lockdep实战
通过内核配置开启lockdep · 分析死锁报告输出
lockdep
通过内核配置开启
16
死锁调试技巧
使用/proc/lock_stat · ftrace · dump_stack进行死锁定位
死锁调试技巧
proc/lock
17
自旋锁死锁修复实战
使用spin_trylock或调整锁…
自旋锁死锁修复实…
spin
18
互斥锁死锁修复实战
固定锁顺序 · 使用mutex_trylock · 锁降级
互斥锁死锁修复实…
固定锁顺序
19
中断上下文锁保护
使用spin_lock_irqsav…
断上下文锁保护
spin
20
读写锁(rwlock)与RCU简介
读写锁适用场景 · RCU无锁读机制
rwlock
RCU
21
原子操作与位操作
atomic_t · set_bit等原子API在竞态控制…
原子操作
位操作
22
完成量(completion)与信号量(semaphore)
同步机制与锁的区别
completion
semaphore
23
per-CPU变量
避免锁竞争的per-CPU数据设计
per-CPU
变量
24
驱动竞态调试环境搭建
QEMU + 内核模块开发环境配置
驱动竞态调试环境…
QEMU
25
实战案例1
模拟自旋锁中断死锁并调试修复
实战案例1
模拟自旋锁
26
实战案例2
模拟互斥锁ABBA死锁并调试修复
实战案例2
ABBA
27
实战案例3
混合锁死锁场景分析与修复
实战案例3
混合锁死锁场景分…
28
锁性能优化
锁粒度细化 · 读写分离 · RCU替换
锁性能优化
锁粒度细化
29
内核并发编程最佳实践
锁使用规范 · 注释 · 代码审查清单
内核并发编程最佳…
锁使用规范
30
课程总结与进阶
死锁预防方法论 · 内核社区资源 · 进一步学习路径
课程总结
进阶
所属VIP或分类
同VIP:Linux-platform驱动开发调试与设备树接口设计
同VIP:Linux内核模块加载卸载与资源生命周期调试
同VIP:Linux内核调试与性能优化实战:驱动篇全面解析