块设备与网络驱动选型指南
本文对应 成长路径 高优先级:在 块设备 与 网络 两条内核驱动线中 选一条 深入,避免同时铺开。
块设备线
适合:eMMC/SD/NAND 控制器、存储性能、分区与 IO 调度。
| 阶段 | 内容 |
|---|---|
| 基础 | 存储与IO子系统 |
| 实践 | MMC 子系统、request_queue、blk-mq |
| 调试 | iostat、/sys/block/*/stat |
产出:能读懂 主机控制器驱动 与 gendisk 注册流程。
网络驱动线
适合:MAC/PHY、NAPI、与 DPDK 对照。
| 阶段 | 内容 |
|---|---|
| 基础 | Linux 内核网络栈与 DPDK 适用边界 |
| 实践 | net_device、ndo_start_xmit、poll |
| 调试 | ethtool -S、softnet_stat |
产出:能解释 收包中断 → NAPI → 协议栈。
与 DPDK 的关系
- 做 内核网驱 不等于做 DPDK;数据面旁路见 index。
- 理解网驱有助于 IRQ 亲和、RSS 配置。
选择建议
| 你的板子 | 建议 |
|---|---|
| 存储瓶颈明显 | 块设备 |
| 网口产品、可绑 DPDK | 网络 + DPDK 教程 |
| 两者都要 | 先网后块或反之,串行 |