BLK-IOCOST Merged For Linux 5.4 To Better Account For Cost Of I/O Workloads

Written by Michael Larabel in Linux Storage on 19 September 2019 at 06:02 AM EDT. 1 Comment
LINUX STORAGE
The Linux 5.4 block subsystem changes brings the new blk-iocost model.

BLK-IOCOST is a new I/O controller by veteran kernel developer Tejun Heo that is a work-conserving proportional controller. He goes over blk-iocost in great detail in one of the earlier patch series, "It currently has a simple linear cost model builtin where each IO is classified as sequential or random and given a base cost accordingly and additional size-proportional cost is added on top. Each IO is given a cost based on the model and the controller issues IOs for each cgroup according to their hierarchical weight. By default, the controller adapts its overall IO rate so that it doesn't build up buffer bloat in the request_queue layer, which guarantees that the controller doesn't lose significant amount of total work...The controller provides extra QoS control knobs which allow tightening control feedback loop as necessary." See that aforelinked article for more details and results.

There is also updated cgroup documentation on the new I/O cost knobs as well.

The blk-iocost code was merged as part of the block pull for the in-development Linux 5.4 cycle. The block pull for Linux 5.4 also has a number of NVMe updates, block stats fixes, per-device weight support for BFQ, LightNVM fixes, and other work.
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