BFQ Still Trying To Replace The CFQ I/O Scheduler In Linux
For a number of months there's been an effort to replace the CFQ I/O scheduler with BFQ inside the Linux kernel. That isn't happening for the current Linux 4.8 cycle, but new patches were published today in pursuing this goal.
Paolo Valente today published the 8th version of these patches to replace the CFQ I/O scheduler with BFQ. For those that don't recall from earlier Phoronix news about this mission, "This patchset replaces CFQ with the last version of BFQ (which is a proportional-share I/O scheduler). To make a smooth transition, this patchset first brings CFQ back to its state at the time when BFQ was forked from CFQ. Basically, this reduces CFQ to its engine, by removing every heuristic and improvement that has nothing to do with any heuristic or improvement in BFQ, and every heuristic and improvement whose goal is achieved in a different way in BFQ. Then, the second part of the patchset starts by replacing CFQ's engine with BFQ's engine, and goes on by adding current BFQ improvements and extra heuristics."
BFQ aims for low-latency with interactive applications, low-latency for soft real-time applications, high throughput, strong fairness guarantees, and other advantages over the current incarnation of CFQ.
More details via the v8 patch series.
Paolo Valente today published the 8th version of these patches to replace the CFQ I/O scheduler with BFQ. For those that don't recall from earlier Phoronix news about this mission, "This patchset replaces CFQ with the last version of BFQ (which is a proportional-share I/O scheduler). To make a smooth transition, this patchset first brings CFQ back to its state at the time when BFQ was forked from CFQ. Basically, this reduces CFQ to its engine, by removing every heuristic and improvement that has nothing to do with any heuristic or improvement in BFQ, and every heuristic and improvement whose goal is achieved in a different way in BFQ. Then, the second part of the patchset starts by replacing CFQ's engine with BFQ's engine, and goes on by adding current BFQ improvements and extra heuristics."
BFQ aims for low-latency with interactive applications, low-latency for soft real-time applications, high throughput, strong fairness guarantees, and other advantages over the current incarnation of CFQ.
More details via the v8 patch series.
24 Comments