Many NVMe Updates & Other Block Changes For Linux 5.18
In addition to the IO_uring updates for Linux 5.18, block subsystem maintainer Jens Axboe has also submitted the core block and driver changes ahead of the v5.18 merge window opening tonight following the release of Linux 5.17.
The block core/driver changes are ready to go for this next Linux kernel cycle. As usual for recent times, much of the block subsystem work revolves around improving the NVMe code. Some of the changes to find coming with Linux 5.17 include:
- NVMe support for vectorized I/O for user pass-through via new NVME_IOCTL_IO64_CMD_VEC ioctl for passing an array of iovecs.
- Support for buffered I/O on NVMe block devices within the NVMET code. With this mode of using the file back-end and using cache for the block device namespace it shows a "significant performance improvement".
- Improved error logging for the NVMe code.
- MQ (multi-queue) updates, including many code clean-ups.
- BCache fixes.
- BFQ clean-ups and fixes.
- Support for exposing the NVMe direct discovery controller and central discovery controller via sysfs.
- blk-crypto capabilities are now reported via sysfs.
More information within the pull requests for the block driver and block changes.
The Linux 5.18 merge window will be running the next two weeks while the stable Linux 5.18 kernel should debut around the end of May.