如何为 NVMe 设备启用 blkmq?

如何为 NVMe 设备启用 blkmq?

Ubuntu:20.10-桌面内核
:5.8.0-40-generic
设备:Samsung 980 pro 500G

$ cat /sys/block/nvme1n1/queue/scheduler
  [none] mq-deadline 

这是否意味着我使用的是“Linux I/O 调度程序”而不是“Linux 多队列块 IO 队列机制 (blk-mq)”。如果是,我该如何切换到 blkmq?

答案1

您的内核已经将 blk-mq 用于此类设备。您甚至可以判断出来,因为您只有多队列截止时间调度程序!

(以下信息是通过搜索找到的https://www.google.com/search?q=blk-mq+nvme

根据此回答如何禁用 NVMe 的 blk-mq 并使用 CFQ、deadline、noop?从 3.19 内核开始,你实际上无法将 NVMe 驱动器切换为使用 blk-mq 以外的任何东西(参见提交NVMe:转换为 blk-mq) 而且在此之前,多队列逻辑是位于 NVMe 驱动程序本身内部的。

相关内容