Linux3.19内核block层出现新变化,增加 multi-queue block layer
2015-01-29 09:24
645 查看
最近Linux的最新内核已经release到Linux-3.19-rc6,根据Linus的release note,大约再经过一次rc7版本就可以正式release了。Linux 3.19内核在block层的最大变化就是增加了一个multi-queue block layer,来更好的支持类似于NVME等支持multi-queue机制的设备。所谓的multi-queue机制就是在多核CPU的情况下,将不同的block层提交队列分配到不同的CPU核上,以更好的平衡IO的工作负载,大幅提高SSD等存储设备的IO效率。
其实在Linux-3.13的kernel中就已经出现了对multi-queue设备的支持,只不过那时候还不是专门的multi-queue的block layer,而是单独使用在NVME设备的driver中。在3.19内核以后,multi-queue block layer将统一接管multi-queque的工作。而NVME设备的driver也相应的拿掉了这部分功能,转而通过调用multi-queue
block layer的函数来实现multi-queue机制。而在3.19内核之后对SCSI-mq的支持将不在话下。
下图示意了Blk-mq的IO Submission机制。
很对测试和研究表明,Blk-mq/SCSI-mq对存储设备的Performance将有很大的提升,想要更多的了解Blk-mq/SCSI-mq见这篇文章,下图显示了加入了Blk-mq/SCSI-mq后Linux-SCSI
Performance
具体的Linux-3.19的block driver updates可以参见本链接
其实在Linux-3.13的kernel中就已经出现了对multi-queue设备的支持,只不过那时候还不是专门的multi-queue的block layer,而是单独使用在NVME设备的driver中。在3.19内核以后,multi-queue block layer将统一接管multi-queque的工作。而NVME设备的driver也相应的拿掉了这部分功能,转而通过调用multi-queue
block layer的函数来实现multi-queue机制。而在3.19内核之后对SCSI-mq的支持将不在话下。
下图示意了Blk-mq的IO Submission机制。
很对测试和研究表明,Blk-mq/SCSI-mq对存储设备的Performance将有很大的提升,想要更多的了解Blk-mq/SCSI-mq见这篇文章,下图显示了加入了Blk-mq/SCSI-mq后Linux-SCSI
Performance
具体的Linux-3.19的block driver updates可以参见本链接
相关文章推荐
- [转贴]linux内核编译选项详解(二):Loadable Module and Block Layer Support
- 在VMware上编译linux内核出现VFS: Cannot open root device "LABEL=/" or unknown-block(0,0) 错误的解决方法
- 修改Linux内核增加系统调用
- zz修改Linux内核增加系统调用
- 解决部分linux发行版内核加载时出现 pci 0000:01:00.0: BAR 6: no parent found for of device
- kdump的出现(基于嵌入式Linux的内核错误跟踪技术)
- 修改Linux内核增加系统调用(转载)
- linux 2.6内核epoll用法举例说明(续)--给echo服务器增加读线程池
- [转]详解Linux 2.6内核新文件系统变化机制(inotify)
- linux 0.11 内核学习 -- block_dev.c
- linux内核的 等待队列 使用方法,wait_queue_head_t,进程休眠
- linux编译内核出现include/asm/glue.h:111:2: #error Unknown data abort handler type
- 解决编译linux2.4和linux 2.6内核出现/usr/bin/ld: cannot find -lncurses的问题
- 编译linux-2.6.20内核出现scripts/mod/sumversion.c:384: error: ‘PATH_MAX’ undeclared 错误
- inotify -- Linux 2.6 内核中的文件系统变化通知机制
- 修改Linux内核增加系统调用
- Linux那些事儿之我是Block层(1)Block子系统的初始化
- 用Linux 2.6内核中的文件系统变化通知机制inotify可实现跨机文件同步
- 配置并编译内核[更新到linux-2.6.34][增加自动精简](转)
- Fedora9.0和VMware6.5下编译内核出现arm-linux-gcc无法找到的错误解决办法