首页
›
嵌入式与底层系统
›
004-Linux中断定时与异步机制
›
《中断底半部tasklet调试 软中断上下文与竞态条件排查》
VIP22
本课程属于:004-Linux中断定时与异步机制
嵌入式与底层系统 · 共 22 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
中断底半部tasklet调试:软中断上下文与竞态条件排查
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
中断处理概述
中断概念 · 中断上下文 · 上半部与下半部分工原则
断处理概述
断概念
02
软中断机制
软中断的注册 · 触发 · 执行流程
断机制
断的注册
03
tasklet基础
tasklet数据结构 · 初始化 · 调度
tasklet
数据结构
04
tasklet与软中断关系
tasklet基于软中断实现 · TASKLET_SOFTIRQ向量
tasklet
断关系
05
tasklet调度API
tasklet_schedule · tasklet_hi_schedul… · tasklet_kill
tasklet
API
06
tasklet执行上下文
软中断上下文特点 · 不可睡眠 · 不可阻塞
tasklet
执行上下文
07
tasklet与中断上半部交互
上半部调度tasklet · 下半部处理数据
tasklet
断上半部交互
08
tasklet与进程上下文交互
通过共享内存 · 原子操作 · 锁机制
tasklet
进程上下文交互
09
竞态条件概念
临界区 · 共享资源 · 并发访问导致数据不一致
竞态条件概念
临界区
10
软中断上下文中的竞态
同一CPU上软中断嵌套 · 不同CPU并行执行
断上下文
竞态
11
tasklet串行化特性
同一tasklet在同一时刻只能在一…
tasklet
串行化特性
12
不同tasklet之间的竞态
多个tasklet可并行运行于不同C…
tasklet
不同
13
tasklet与硬件中断的竞态
上半部与tasklet共享数据时的保…
tasklet
硬件
14
自旋锁在软中断上下文的使用
spin_lock/spin_unl… · spin_lock_irqsave
自旋锁
断上下文的使用
15
原子操作与位操作
atomic_t · set_bit · test_and_set_bit在t…
原子操作
位操作
16
per-CPU变量
避免锁竞争 · 每个CPU独立副本
per-CPU
变量
17
RCU机制在tasklet中的使用
读侧无锁 · 写侧延迟回收
RCU
tasklet
18
调试工具准备
printk · ftrace · tracepoint
调试工具准备
printk
19
printk调试tasklet
日志级别 · 时间戳 · 函数调用栈
printk
tasklet
20
ftrace追踪软中断
irqsoff tracer · preemptoff tracer · wakeup tracer
ftrace
追踪软
21
tracepoint挂载
softirq_entry/exit · tasklet_entry/exit
tracepoint
挂载
22
kprobe动态插桩
在tasklet函数入口/出口插入探…
kprobe
动态插桩
23
竞态条件复现方法
增加延迟 · 多CPU压力 · 循环触发
竞态条件复现方法
增加延迟
24
死锁检测
lockdep锁依赖验证 · 软中断上下文死锁案例
死锁检测
lockdep
25
数据竞争检测
KCSAN (Kernel Conc…
数据竞争检测
KCSAN
26
tasklet使用规范
避免长时间占用 · 避免睡眠 · 避免复杂锁
tasklet
使用规范
27
从tasklet迁移到workqueue
当需要睡眠或长时间处理时
tasklet
workqueue
28
实际案例1
网卡驱动中tasklet处理接收数据…
实际案例1
tasklet
29
实际案例2
GPIO中断中tasklet与上半部…
实际案例2
GPIO
30
总结与最佳实践
tasklet调试清单 · 竞态排查流程 · 性能权衡
最佳实践
tasklet
所属VIP或分类
同VIP:Linux中断DMA与设备驱动工程
同VIP:Linux内核实时化-中断线程化原理与工程落地实践
同VIP:Linux内核实时性补丁驱动中断线程化移植实战工程