BLK-IOCOST Merged For Linux 5.4 To Better Account For Cost Of I/O Workloads
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.
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.
1 Comment