• 有关数据结构

请求队列:struct request_queue

请求描述符:struct request

  • 队列深度

可以在端口队列中等待IO请求数量;

具体代表其值的是request_queue的成员nr_requests:存放了每个数据传送方向的最大请求个数;

nr_requests在Linux中的默认值是128,当待处理读(写)请求数超过了这个值,那么相应的可阻塞的进程将会睡眠。

  • 队列个数

每个块驱动设备程序维持着自己的请求队列;

如果磁盘控制器正在处理几个磁盘,那么通常每个物理设备都有一个请求队列;

NVMe:最大支持64K的队列深度以及64K的队列个数。

ACHI:最大支持32的队列深度以及1的队列个数