- 有关数据结构
请求队列:struct request_queue
请求描述符:struct request
- 队列深度
可以在端口队列中等待IO请求数量;
具体代表其值的是request_queue的成员nr_requests:存放了每个数据传送方向的最大请求个数;
nr_requests在Linux中的默认值是128,当待处理读(写)请求数超过了这个值,那么相应的可阻塞的进程将会睡眠。
- 队列个数
每个块驱动设备程序维持着自己的请求队列;
如果磁盘控制器正在处理几个磁盘,那么通常每个物理设备都有一个请求队列;
NVMe:最大支持64K的队列深度以及64K的队列个数。
ACHI:最大支持32的队列深度以及1的队列个数
数据结构:Linux磁盘I/O请求队列深度与管理
本文介绍了Linux中磁盘I/O请求队列的相关概念,包括请求队列深度(默认128)和队列个数。每个块设备驱动程序维护自己的请求队列,NVMe支持的队列深度和个数远超ACHI。当IO请求数超过队列深度,进程可能被阻塞。队列管理对于磁盘性能和系统响应至关重要。
1442

被折叠的 条评论
为什么被折叠?



