Budget Fair Queueing (BFQ) Storage-I/O Scheduler

BFQ can be found in Linux from 4.12.0, as one of the I/O schedulers in the new blk-mq framework. BFQ for the legacy blk framewok is available here as a patchset for Linux kernel sources from 2.6.32 (plus some old patches for the zen kernel). These are new versions of BFQ with respect to the ones you can find on Fabio's site. Latest stable kernels with latest BFQ versions can also be found as .deb packages on NickTh's Launchpad PPA. The most recent BFQ version you can find here is 4.11.0-v8r11. This version is not the last one, which you can find, instead, in the following development branches for BFQ.

As for older, stable kernels, and only legacy block layer, you can find BFQ's development branches for (at least) v4.4 and v4.9.

Finally, you can find the main bfq-mq development branch here.

In the following archive, incremental patches to move from a version of BFQ to the following one, or from a version for a given kernel release to the same version for the following kernel release, can be found in previous_versions_revisions/incremental_patches. In addition, every directory named only with a kernel release number contains the latest version of BFQ for that release. Existing older versions of BFQ for these kernels can be found in previous_versions_revisions.

Other pages about BFQ and mirrors: http://bfq.teambelgium.net/, http://ponce.cc/mirror/bfq_disk_sched/patches/ (also available via rsync: rsync://ponce.cc/mirror/bfq_disk_sched/patches/), https://bfq.io/.

For each full patchset see README.BFQ for a diffstat and for a brief changelog. Moreover, a list of known bugs and untested functionalities is here.

If useful, here is an example of how to add a BFQ version to a git Linux tree, starting from scratch and using git am.