NVMe

Linux Block Layer 多队列 blk-mq 架构与 IO 调度深度实战

深度解析 Linux blk-mq 多队列块层从架构设计到生产实践的完整技术栈:单队列到多队列演进历史、核心数据结构(blk_mq_tag_set/hw_ctx/request)、sbitmap 标签分配机制、四种调度器(none/mq-deadline/BFQ/Kyber)算法详解、NUMA 感知队列映射、NVMe/SCSI/io_uring 集成方案、生产调优参数与延迟优化案例。

io_uring uring_cmd 直通 NVMe 构建零拷贝 KV 存储引擎:架构设计、实现与生产调优

本文深入解析 io_uring 的 uring_cmd 机制如何直通 NVMe 设备绕过 Block Layer,并结合零拷贝缓冲区注册、批量提交与 SQPOLL 模式构建高性能用户态 KV 存储引擎。涵盖从内核机制到底层实现的完整工程路径,包括 WAL 一致性保证、LSM-Tree 存储架构、生产调优策略以及与 SPDK 方案的对比分析。