Many Block Improvements Land In Linux 5.16 - Multi-Actuator Hard Drive Support

Written by Michael Larabel in Linux Storage on 1 November 2021 at 03:40 PM EDT. 9 Comments
LINUX STORAGE
The big set of block changes for Linux 5.16 were merged today with the opening of the new kernel cycle. While the massive I/O optimizations tackled recently has been a main focus, there is also much more to the block subsystem coming with Linux 5.16.

Aside from all of the I/O optimizations pursued by Jens Axboe and others in now being able to hit ~10M IOPS per-core on the maintainer's test system, some of the other block work for Linux 5.16 includes:

The central set of block updates include MQ-Deadline accounting improvements, reworking poll support to be bio-based to work toward allowing polling for bio-based drivers, block layer core support for multi-actuator drives, blk-crypto improvements, plugging improvements, concurrent queue quiesce support, and other improvements.

The multi-actuator support was contributed by Western Digital engineer Damien Le Moal. The kernel-side change needed is for independent access ranges support within the blck code.
This patch implements support for exposing a block device independent access ranges to the user through sysfs to allow optimizing device accesses to increase performance.

To describe the set of independent sector ranges of a device (actuators of a multi-actuator HDDs or table entries of a dm-linear device), The type struct blk_independent_access_ranges is introduced. This structure describes the sector ranges using an array of struct blk_independent_access_range structures. This range structure defines the start sector and number of sectors of the access range. The ranges in the array cannot overlap and must contain all sectors within the device capacity.

The ranges are exposed via /sys/block/sd*/queue/independent_access_ranges/. Multi-actuator hard drives are a new and growing trend such as with the Seagate MACH.2 technology for two actuators within a hard drive for greater parallelism. Multi-actuator drives are of growing interest to hyperscalers and other organizations with needs for dense but performant hard drive storage. Western Digital, Seagate, and other vendors are expected to release more multi-actuator drives over the coming year.

Following those block updates, SCSI multi-actuator support was merged as part of a separate pull with this independent access ranges handling.

Learn more about multi-actuator drives via the Seagate blog.

The block driver updates bring NVMe improvements and other driver churn.

IO_uring changes bring a hybrid async mode, support for batched issue on block, IPOLL efficiency improvements, and the other performance-related work making for an exciting past number of weeks.

Even the CDROM code saw some updates this cycle. New to the CD-ROM code in Linux 5.16 is a new "CDROM_TIMED_MESA_CHANGE" interface for improved media change detection. This allows finding out whether the disc has been changed since a user-supplied time and returning the time of the last disc change.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week