首页
›
Linux内核与驱动
›
190-Linux驱动调试与优化
›
《Linux驱动自旋锁调试:中断上下文死锁与并发策略优化》
VIP10
本课程属于:190-Linux驱动调试与优化
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux驱动自旋锁调试:中断上下文死锁与并发策略优化
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
自旋锁基础概念
自旋锁的工作原理 · 忙等待机制 · 与互斥锁的对比
自旋锁基础概念
自旋锁的工作原理
02
自旋锁API详解
spin_lock/spin_unl… · spin_lock_irq/spin… · spin_lock_irqsave/…
API
自旋锁
03
自旋锁在中断上下文中的使用规则
中断上下文定义 · 自旋锁在中断中的限制 · 禁止本地中断的必要性
自旋锁
断上下文
04
中断上下文死锁场景1
单CPU上中断处理程序与进程上下文争…
断上下文死锁场景…
CPU
05
中断上下文死锁场景2
嵌套中断处理程序中自旋锁的递归获取
断上下文死锁场景…
嵌套
06
中断上下文死锁场景3
多个中断处理程序之间交叉持有自旋锁
断上下文死锁场景…
多个
07
死锁检测工具
lockdep内核配置 · lockdep工作原理 · 如何解读lockdep报告
死锁检测工具
lockdep
08
使用lockdep进行死锁调试实战
编译内核开启lockdep · 复现死锁 · 分析lockdep输出
lockdep
使用
09
自旋锁与下半部机制
tasklet · workqueue中使用自旋锁的注意…
自旋锁
下半部机制
10
自旋锁与软中断
软中断上下文中的自旋锁使用 · ksoftirqd的影响
自旋锁
断上下文
11
自旋锁与硬件中断
顶半部与底半部之间的锁策略 · 中断线程化后的变化
自旋锁
硬件
12
读写自旋锁
rwlock_t API · 读写锁在中断上下文中的适用性 · 与普通自旋锁的性能对比
读写自旋锁
rwlock
13
顺序锁(seqlock)
seqlock原理 · 在中断上下文中的使用 · 与读写锁的差异
seqlock
顺序锁
14
自旋锁与RCU的对比
RCU在中断上下文中的优势 · 何时选择RCU而非自旋锁
RCU
自旋锁
15
自旋锁的原子性保证
内存屏障 · smp_mb() · 自旋锁隐含的屏障语义
自旋锁的原子性保…
内存屏障
16
自旋锁在SMP系统中的行为
多核竞争 · 缓存一致性协议(MESI)对自旋锁性…
SMP
自旋锁
17
自旋锁的优化策略1
减小临界区长度 · 避免在临界区内调用可能睡眠的函数
自旋锁的优化策略…
减小临界区长度
18
自旋锁的优化策略2
使用per-CPU变量减少锁竞争 · percpu_counter示例
自旋锁的优化策略…
per-CPU
19
自旋锁的优化策略3
使用原子操作替代自旋锁 · atomic_t与自旋锁的选择
自旋锁的优化策略…
使用原子操作替代…
20
自旋锁的优化策略4
使用无锁数据结构 · kfifo环形缓冲区的实现
自旋锁的优化策略…
使用无锁数据结构
21
自旋锁的死锁预防
锁顺序规范 · 锁分级 · 使用mutex代替自旋锁的场景
自旋锁的死锁预防
锁顺序规范
22
自旋锁的调试接口
/proc/lock_stat · lock_stat的解读与性能分析
自旋锁的调试接口
proc/lock
23
自旋锁的实时性影响
PREEMPT_RT下的自旋锁变为互… · 对中断延迟的影响
自旋锁的实时性影…
PREEMPT
24
自旋锁在设备驱动中的典型用例
DMA缓冲区保护 · 寄存器访问保护
自旋锁
设备驱动
25
自旋锁与DMA
DMA完成中断与驱动代码的同步 · dma_alloc_coherent…
DMA
自旋锁
26
自旋锁与时钟中断
高精度定时器(hrtimer)回调中…
自旋锁
时钟
27
自旋锁与CPU热插拔
CPU热插拔过程中自旋锁的状态处理 · stop_machine机制
CPU
自旋锁
28
自旋锁的跨平台移植注意事项
ARM · x86 · RISC-V架构下自旋锁实现的差异
自旋锁的跨平台移…
ARM
29
自旋锁性能基准测试
使用perf测量自旋锁开销 · 锁争用对吞吐量的影响
自旋锁性能基准测…
perf
30
综合实战
编写一个包含中断上下文自旋锁死锁的驱… · 并使用lockdep和perf进行调…
综合实战
编写一个包含
所属VIP或分类
同VIP:Linux驱动DMA传输:中断协同与缓存一致性调试
同VIP:Linux驱动DMA传输:环形缓冲区设计与中断协同调试
同VIP:Linux驱动mmap与DMA共享传输开发