首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用NVMe的blk和使用CFQ,截止日期,noop?

如何禁用NVMe的blk和使用CFQ,截止日期,noop?
EN

Unix & Linux用户
提问于 2018-02-24 23:49:39
回答 1查看 4.3K关注 0票数 0

出于测试目的,我希望将CFQdeadlinenoop用于NVMe驱动器。这个是可能的吗?

我可以通过将"scsi_mod.use_blk_mq=1"添加到grub引导(请参阅:如何启用和使用BFQ调度程序?)来为SATA使用blk。

但是还没有找到一种方法对NVMe驱动器进行反向操作,以允许它们使用非blk调度程序。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-03-05 03:49:44

/dev/sda <-- SCSI设备

/dev/nvme0n1 <-- NVMe器件

自内核版本3.19以来,NVMe驱动程序就支持blk。它不允许通过在grub中使用insmod参数或内核引导选项来关闭blk。

代码语言:javascript
复制
$ modinfo -p nvme
use_threaded_interrupts: (int)
use_cmb_sqes:use controller's memory buffer for I/O SQes (bool)
max_host_mem_size_mb:Maximum Host Memory Buffer (HMB) size per controller (in MiB) (uint)
sgl_threshold:Use SGLs when average request segment size is larger or equal to this size. Use 0 to disable SGLs. (uint)
io_queue_depth:set io queue depth, should >= 2

如果您想禁用blk,可以从http://git.infradead.org/users/willy/linux-nvme.git下载旧的nvme驱动程序并重新编译内核模块。然而,这不允许使用例如CFQ。3.19的相关变动解释说,NVMe驱动程序以前是"实施队列逻辑本身“,它没有使用单队列块层。还有类似块设备的其他示例,例如Linux mdraid设备。

以下资料来源当时是正确的,它们包括一些有用的注释和链接。但是,它们已经过时了,因为它们是在引入blk调度程序之前编写的,包括BFQ (BFQ被接受为Linux 4.12的一部分)。

https://www.thomas-krenn.com/en/wiki/Linux_多队列_区块_IO_排队_机制_(blk-mq)

Linux来自https://www.thomas-krenn.com

https://www.thomas-krenn.com/de/wikiDE/images/d/da/Linux-io-stack-diagram_v1.0.png

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/426377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档