# \[$\] Adding BPF to blk-iocost

DevFeed: [\[$\] Adding BPF to blk-iocost](<https://devfeed.tech/articles/adding-bpf-to-blk-iocost-26937.md>)

Original publisher: [Read original article](<https://lwn.net/Articles/1093661/>)

Author: corbet

Published: 2026-09-15T14:37:30Z

Content type: article

Language: en

Sources: [LWN.net](<https://devfeed.tech/sources/lwn-net.md>)

Topics: [Kernel](<https://devfeed.tech/topics/kernel.md>), [IO](<https://devfeed.tech/topics/io.md>), [ordering](<https://devfeed.tech/topics/ordering.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>)

Tags: [kernels](<https://devfeed.tech/tags/kernels.md>), [loading](<https://devfeed.tech/tags/loading.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [performance](<https://devfeed.tech/tags/performance.md>)

## AI overview

This article discusses a patch series that would make the Linux blk-iocost I/O controller more flexible by allowing a BPF program to make cost decisions. It places the change in the context of block I/O scheduling for modern solid-state drives, where fairness and high throughput are important.

## Source excerpt

The scheduling of block I/O requests has long been a challenge for operating-system kernels. For many years, the performance characteristics of rotating drives meant that putting considerable resources into request ordering was worthwhile. In a world with fast, solid-state drives, scheduling is more concerned with enforcing fairness between competing users while being fast enough to keep up with drives that can perform millions of I/O operations per second. The blk-iocost I/O controller was designed for the solid-state world and generally performs well, but there is always a desire to do better. This patch series from Tao Cui aims to make blk-iocost more flexible by enabling the loading of a BPF program to make cost decisions.