Block MQ Tag Set 硬件资源调度

QQ_1727411139852.png

用户空间的 I/O 提交

传统的同步IO 提交方式

QQ_1727411319286.png

异步IO 提交方式(IO_uring)

QQ_1727509606312.png

BIO 数据结构

BIO 是块层的一个IO 单元

image.png

硬件提交

提交

QQ_1727511088810.png

完成

QQ_1727511420088.png

块层的polling

polling 是Linux 内核的新特性,允许其使用轮训而非等待中断的方式来完成请求——可以减少时延并且减少高速设备由于中断引起的开销。使用时,发出 I/O 的应用线程或 io_uring 工作线程会主动在硬件队列中轮询发出的请求是否已完成

![[An Introduction to the Linux Kernel Block IO Stack.pdf]]