答案1
长话短说:伊奥尼斯当选择 BFQ I/O 调度程序时,它仍然显得有用。
然而,自 5.3 起,CFQ I/O 已被弃用并从内核中删除。
确实但是预算公平队列 I/O 调度程序在最新的内核下仍然可用。
从 6.3 开始甚至暗示是否选择了 MMC 块设备驱动程序:
config MMC_BLOCK
tristate "MMC block device driver"
depends on BLOCK
imply IOSCHED_BFQ
这BFQ 确实尊重 I/O 调度优先级那伊奥尼斯可以分配给进程:
每个进程的 ioprio 和权重:除非使用 cgroups 接口(参见“4. BFQ 组调度”),权重只能通过 I/O 优先级间接分配给进程,并根据以下关系:权重 = (IOPRIO_BE_NR -伊普里奥) * 10
据报道,这也是为了表彰调度类 伊奥尼斯可以分配:
我还研究了使用 ionice -c3 将安装/卸载循环的 IO 优先级设置为空闲,这正如其名称所示:如果有任何更高优先级的 IO 待处理,BFQ 本质上永远不会以空闲优先级提供 IO