VIP20
本课程属于:022-RV1126驱动开发 嵌入式UI · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

驱动调试技巧与性能优化

📚 共计 30 章节
01
调试环境搭建
Linux内核调试环境配置、QEMU虚拟机搭建、KGDB双机调试、JTAG调试器入门
环境QEMUKGDB
02
printk调试技巧
printk日志级别、动态调试(dynamic debug)、trace_printk使用、日志缓冲区管理
日志动态调试
03
procfs与sysfs调试
procfs文件系统创建与使用、sysfs属性文件、debugfs调试文件系统、seq_file接口
procfssysfsdebugfs
04
ioctl调试接口
ioctl命令定义、用户态与内核态交互、调试命令设计、ioctl安全注意事项
ioctl交互
05
OOPs分析与内核panic
OOPs信息解读、内核panic处理、kdump与crash工具、堆栈回溯分析
panickdumpcrash
06
内存调试
kmemleak内存泄漏检测、KASAN内存错误检测、slab调试、内存压力测试
kmemleakKASANslab
07
锁调试
lockdep死锁检测、spinlock与mutex调试、原子上下文检查、锁竞争分析
lockdep死锁竞争
08
性能分析工具入门
perf工具基础、ftrace使用、eBPF/bcc入门、systemtap概览
perfftraceeBPF
09
perf性能剖析
perf stat与perf record、硬件计数器、采样分析、火焰图生成
perf火焰图
10
ftrace与tracepoint
ftrace配置与使用、tracepoint机制、function tracer、function_graph tracer
ftracetracepoint
11
eBPF与bcc工具
eBPF程序编写、bcc工具集使用、bpftrace脚本、eBPF性能监控
eBPFbccbpftrace
12
内核时间测量
ktime与jiffies、时间戳获取、代码段耗时测量、ftrace延迟追踪
ktime延迟
13
中断与软中断优化
中断上下文、中断处理耗时、软中断与tasklet、中断负载均衡
中断软中断tasklet
14
DMA与内存屏障
DMA调试、内存屏障类型、dma_alloc_coherent、dma_map_single
DMA内存屏障
15
设备驱动性能模型
轮询vs中断、NAPI机制、异步IO、mmap零拷贝
NAPI异步IO零拷贝
16
缓存一致性优化
cache line对齐、预取指令、dma_cache_sync、cache coloring
cache预取一致性
17
锁竞争优化
读写锁优化、RCU机制、无锁数据结构、per-CPU变量
RCU无锁per-CPU
18
内存分配优化
kmalloc vs vmalloc、slab分配器调优、内存池、大页内存
kmallocslab大页
19
驱动热路径优化
代码内联、likely/unlikely、分支预测优化、循环展开
内联分支预测热路径
20
网络驱动调试
net_device结构、NAPI轮询、sk_buff管理、网络性能调优
网络NAPIsk_buff
21
块设备驱动调试
request_queue、bio结构、IO调度器、blktrace分析
块设备blktraceIO调度
22
字符设备驱动调试
cdev注册、fops实现、并发控制、read/write优化
cdevfops并发
23
USB驱动调试
urb管理、USB调度、端点配置、USB性能分析
USBurb端点
24
PCIe驱动调试
配置空间、BAR映射、MSI中断、DMA传输优化
PCIeBARMSI
25
电源管理调试
runtime PM、系统suspend/resume、wakeup source、功耗测量
电源管理PMwakeup
26
驱动热插拔调试
udev规则、设备模型、uevent事件、热插拔稳定性
热插拔udevuevent
27
内核崩溃分析实战
kdump配置、crash工具使用、vmcore分析、内核模块符号解析
kdumpcrashvmcore
28
驱动回归测试
自动化测试框架、kunit单元测试、selftest、压力测试脚本
kunitselftest回归
29
性能基准测试
lmbench、unixbench、iperf、fio工具使用、性能数据对比
lmbenchiperffio
30
综合实战
从零调试一个真实驱动、性能瓶颈定位、优化方案设计、案例复盘总结
实战瓶颈复盘