首页
›
嵌入式与底层系统
›
018-Linux存储与块设备驱动工程
›
《块设备驱动性能调优 设备驱动工程实践IO优化》
VIP20
本课程属于:018-Linux存储与块设备驱动工程
嵌入式与底层系统 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
块设备驱动性能调优:设备驱动工程实践IO优化
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
块设备驱动基础
块设备与字符设备的区别 · 块设备驱动核心数据结构(gendis… · request_queue
块设备驱动基础
块设备
02
I/O请求生命周期
从VFS到块设备层的完整I/O路径分… · 关键函数调用链
I/O
请求生命周期
03
I/O调度器原理
CFQ · Deadline · NOOP
I/O
调度器原理
04
多队列块层(blk-mq)架构
单队列到多队列的演进 · 软件队列与硬件队列映射 · CPU亲和性
blk-mq
多队列块层
05
bio结构与I/O合并
bio数据结构详解 · bio合并策略 · 物理相邻与逻辑相邻判断
bio
I/O
06
请求合并与拆分
request合并算法 · 跨队列合并 · 大I/O拆分策略
请求合并
拆分
07
DMA与分散/聚集I/O
DMA映射原理 · SG表构建 · dma_map_sg与dma_unm…
DMA
I/O
08
中断处理优化
中断上半部与下半部 · tasklet · workqueue
断处理优化
断上半部
09
轮询模式(Polling)驱动
高IOPS场景下的轮询机制 · 混合中断轮询模式 · 自适应切换
Polling
轮询模式
10
内存屏障与缓存一致性
DMA一致性映射 · 流式映射 · dma_alloc_coherent
内存屏障
缓存一致性
11
零拷贝技术
splice · sendfile · O_DIRECT
零拷贝技术
splice
12
io_uring异步框架
io_uring原理 · SQ/CQ队列 · 固定缓冲区
io
uring
13
NVMe驱动深度解析
NVMe提交队列与完成队列 · Doorbell机制 · PRP与SGL
NVMe
驱动深度解析
14
块设备缓存策略
页缓存 · 回写机制 · 脏页比率调优
块设备缓存策略
页缓存
15
I/O延迟测量
blktrace · iostat · perf
I/O
延迟测量
16
性能基准测试工具
fio · vdbench · blkparse
性能基准测试工具
fio
17
驱动级锁优化
自旋锁 · 读写锁 · RCU
驱动级锁优化
自旋锁
18
内存分配优化
GFP标志选择 · 内存池(mempool) · slab分配器
内存分配优化
GFP
19
批量提交与完成
批量bio提交 · 批量完成回调 · 减少函数调用开销
批量提交
完成
20
硬件队列深度调优
队列深度对延迟与吞吐的影响 · 动态队列深度调整
硬件队列深度调优
队列深度对延迟
21
NUMA感知驱动设计
内存节点亲和性 · 跨节点访问代价 · node-aware分配
NUMA
感知驱动设计
22
电源管理与性能权衡
运行时电源管理 · ASPM · D3cold状态对I/O延迟的影响
电源管理
性能权衡
23
错误恢复与重试策略
命令超时处理 · 错误日志 · 重试队列
错误恢复
重试策略
24
虚拟化环境优化
virtio-blk · vhost · 半虚拟化驱动
虚拟化环境优化
virtio-blk
25
块设备热插拔与动态管理
设备添加/移除流程 · sysfs接口 · udev规则
块设备热插拔
动态管理
26
调试与故障排查
crash dump分析 · kdump · kgdb
调试
故障排查
27
性能剖析与火焰图
perf record · FlameGraph生成 · 热点函数定位
性能剖析
火焰图
28
内核配置优化
CONFIG_BLK_DEV · CONFIG_BLK_MQ · CONFIG_SCHED相关选项调优
内核配置优化
CONFIG
29
用户态驱动框架
SPDK · DPDK · 用户态NVMe驱动
用户态驱动框架
SPDK
30
综合案例实战
从零优化一个虚拟块设备驱动 · 实现吞吐量提升3倍以上
综合案例实战
从零优化一个虚拟…
所属VIP或分类
同VIP:ARM架构MMC块设备驱动参数配置与性能调优工程
同VIP:Buildroot快速构建嵌入式Linux与设备驱动集成
同VIP:inode分配实战-块设备驱动与文件系统创建工程案例