blk-mq 进行多重队列

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/7.2_release_notes/storage

DM 恢复至版本 4.2

已将 Device Mapper (DM) 升级至上游版本 4.2,该版本提供大量针对上一个版本的程序错误修复和增强,其中包括显著 DM 加密性能更新及 DM 核心更新,以支持多队列块 I/O 查询机制(blk-mq)。

使用 blk-mq 进行多重队列 I/O 调度

Red Hat Enterprise Linux 7.2 包含了一个用于块设备(称为 blk-mq)的新多重队列 I/O 调度机制。通过允许某些设备驱动映射 I/O 请求至多个硬件或软件队列提高性能。当多线程执行在单一设备直执行 I/O 时,性能的提高来自于锁竞争的减少。更新的设备,如非易失性存储器标准(Non-Volatile Memory Express,NVMe),因为对多个硬件提交和完成队列的原生支持以及低延迟性能的特点,它们最适合于使用这个功能。但性能的提高总是取决于具体的硬件和负载。

在下列驱动程序中实施 blk-mq 功能且默认启用它:virtio-blk、mtip32xx、nvme 和 rbd。

相关功能 scsi-mq 允许小型计算机系统接口(SCSI)设备驱动程序使用 blk-mq 基础结构。scsi-mq 在 Red Hat Enterprise Linux 7.2 中是作为技术预览提供。要启用 scsi-mq,请在内核命令行中指定 scsi_mod.use_blk_mq=y。默认值为 n(禁用)。

如果指定了 dm_mod.use_blk_mq=y 内核选项,就也可以配置使用基于请求的设备映射器(Device Mapper,DM)的 DM 多重路径目标设备使用 blk-mq 基础架构。默认值是 n(禁用)。

如果底层的 SCSI 设备也使用 blk-mq,设置 dm_mod.use_blk_mq=y 可以减少 DM 层的锁消耗。

要确定 DM 多重路径设备是否在使用 blk-mq,请查看 /sys/block/dm-X/dm/use_blk_mq,这中的 dm-X 用实际的 DM 多重路径设备替代。这是只读文件,它反映 /sys/module/dm_mod/parameters/use_blk_mq 中的全局值是创建基于请求的 DM 多重路径设备的时间。

猜你喜欢

转载自blog.csdn.net/msdnchina/article/details/89305937