[$] Improving the performance of the BFQ I/O scheduler
BFQis a proportional-share I/O scheduler available for blockdevices since the 4.12 kernel release. It associates each process or groupof processes with a weight, and grants a fraction of the available I/O bandwidthproportionalto that weight. BFQ also triesto maximize system responsiveness and to minimize latency fortime-sensitive applications. Finally, BFQ aims at boostingthroughput and at running efficiently. A new set of changes has improvedBFQ's performance with respect to all of these criteria. Inparticular, they increase the throughput that BFQ reacheswhile handling the most challenging workloads for this I/O scheduler. Anotable example is DBENCHworkloads, for which BFQ now provides 150% more throughput. Thesechanges also improve BFQ's I/O control - applications start about 80% morequickly under load - and BFQ itself now runs about 10% faster.