Linux

Linux块设备层深度解析:从bio请求到IO调度器的全链路透视

本文深入解析Linux内核块设备层(block layer)的完整技术链,从bio请求结构的构造、request队列的派发、IO调度器的合并与排序算法,到多队列块层(mq-blk)的架构演进、带宽控制(blk-iocost)与cgroup IO隔离,再到现代NVMe设备与io_uring的集成,全方位揭示存储IO从VFS到磁盘的完整路径。

Linux io_uring 异步 I/O 革命:从内核子系统到零系统调用高性能编程的全链路架构

深度解析Linux io_uring异步I/O革命:从POSIX AIO的缺陷到io_uring的共享内存环形队列架构设计。详尽讲解SQE/CQE数据结构、三种工作模式(中断/SQPOLL/IOPOLL)的系统调用频谱差异、注册文件与注册缓冲区的热路径优化、IOSQE_IO_LINK原子操作链、MULTISHOT网络与超时原生支持。涵盖与epoll的共生关系、RocksDB生产实测数据、内核演进轨迹(5.1→6.9)、安全限制与正确性保障。

Linux 内核内存屏障与内存排序深度实战:从 CPU 乱序执行到 Memory Model 的完整工程链路

深入解析 Linux 内核内存屏障机制:从 CPU 缓存一致性协议(MESI)与 Store Buffer 导致的乱序问题开始,完整分析 Linux 内核的内存屏障API(barrier/mb/rmb/wmb/READ_ONCE/WRITE_ONCE)、Acquire/Release 语义,并通过生产者-消费者环形缓冲区、RCU宽限期、per-cpu变量发布三个经典模式详解屏障用法。涵盖 RISC-V 弱序架构、DMA 同步、KCSAN 数据竞争检测及 C11 Memory Model 的未来发展。