首页
›
Linux内核与驱动
›
001-Linux内核
›
《Linux内核并发同步设计与竞态故障排查》
VIP10
本课程属于:001-Linux内核
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux内核并发同步设计与竞态故障排查
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
并发基础
并发与并行的区别 · 竞态条件定义 · 内核并发源分析(中断
并发基础
并发
02
原子操作
原子整型操作API · 原子位操作API · 内存屏障与顺序保证
原子操作
API
03
自旋锁原理
自旋锁数据结构 · 自旋锁的忙等待机制 · 自旋锁的变体(raw_spinloc…
自旋锁原理
自旋锁数据结构
04
自旋锁API
spin_lock/spin_unl… · spin_lock_irq/spin… · spin_lock_bh/spin_…
API
自旋锁
05
自旋锁使用场景
保护临界区 · 中断上下文中的锁使用 · 与下半部(tasklet/workq…
自旋锁使用场景
保护临界区
06
自旋锁陷阱
死锁场景分析(递归加锁 · ABBA锁) · 自旋锁持有时间过长
自旋锁陷阱
死锁场景分析
07
互斥体基础
互斥体数据结构(struct mut… · 互斥体与信号量的区别 · 互斥体的睡眠等待机制
互斥体基础
struct
08
互斥体API
mutex_lock/mutex_u… · mutex_lock_interru… · mutex_trylock
API
互斥体
09
互斥体使用场景
进程上下文中的互斥 · 保护复杂数据结构 · 与等待队列的结合使用
互斥体使用场景
进程上下文
10
互斥体陷阱
死锁检测(lockdep) · 互斥体递归加锁错误 · 中断上下文中使用互斥体导致休眠
互斥体陷阱
lockdep
11
读写锁
rwlock_t与读写自旋锁 · 读写信号量 · 读写锁的适用场景与性能分析
读写锁
rwlock
12
RCU机制
RCU基本原理(读端无锁 · 写端延迟回收) · rcu_read_lock/rcu_…
RCU
机制
13
顺序锁(seqlock)
seqlock_t数据结构 · 写者优先机制 · 适用于读多写少且写者不频繁的场景
seqlock
顺序锁
14
完成量(completion)
completion数据结构 · wait_for_completio… · 内核线程同步
completion
完成量
15
Per-CPU变量
per-CPU变量声明与访问 · 避免缓存行 bouncing · per-CPU变量与抢占的关系
Per-CPU
变量
16
Lockdep死锁检测
Lockdep工作原理 · 锁类与锁依赖链 · lockdep报告解读与调试
Lockdep
死锁检测
17
KCSAN数据竞争检测
KCSAN原理(基于TSAN) · KCSAN编译与启用 · 数据竞争报告分析
KCSAN
数据竞争检测
18
KASAN内存错误检测
KASAN原理(影子内存) · KASAN与并发问题的关联 · 典型内存越界与UAF调试
KASAN
内存错误检测
19
内核调试配置
CONFIG_DEBUG_ATOMI… · CONFIG_PROVE_LOCKI… · CONFIG_DEBUG_SPINL…
内核调试配置
CONFIG
20
ftrace与锁跟踪
ftrace事件跟踪(lock · trace-cmd使用 · 锁持有时间分析
ftrace
锁跟踪
21
kgdb与锁调试
kgdb环境搭建 · 在锁死锁时使用kgdb查看调用栈 · 手动解锁与恢复
kgdb
锁调试
22
竞态条件复现技术
使用CPU亲和性绑定 · 使用stress工具制造高并发 · 使用内核模块注入延迟
竞态条件复现技术
CPU
23
实战案例1
自旋锁死锁——ABBA锁问题复现 · 使用lockdep定位 · 修复与验证
实战案例1
ABBA
24
实战案例2
互斥体在中断上下文使用——导致内核崩… · 使用CONFIG_DEBUG_ATO… · 修复
实战案例2
互斥体
25
实战案例3
读写锁与RCU误用——读端长时间持有… · 优化为RCU
实战案例3
RCU
26
实战案例4
Per-CPU变量与抢占——抢占导致… · 使用preempt_disable修…
实战案例4
Per-CPU
27
实战案例5
KCSAN检测数据竞争——共享变量无… · 使用原子操作或锁修复
实战案例5
KCSAN
28
性能优化
自旋锁与互斥体选择策略 · 锁粒度细化(大锁拆小锁) · 无锁数据结构(RCU
性能优化
自旋锁
29
内核锁编程规范
Linux内核编码风格(Docume… · 锁注释与文档 · 代码审查要点
内核锁编程规范
Linux
30
课程总结
并发调试思维导图 · 常见竞态模式总结 · 推荐阅读与后续学习路径
课程总结
并发调试思维导图
所属VIP或分类
同VIP:Linux-I2C控制器驱动开发与时序仲裁调试
同VIP:Linux内核PCIe驱动:配置空间访问与DMA传输实现
同VIP:Linux内核SPI控制器驱动:FIFO与DMA传输优化