Comment 18 for bug 1709889

Revision history for this message
Colin Ian King (colin-king) wrote : Re: Ubuntu 17.04: Bug in cfq scheduler, I/Os do not get submitted to adapter for a very long time.

Doug,

"Can we get some answers as to why CFQ is the default scheduler? It seems like the expedient fix is to change the default to "deadline"."

Sure. We went back to CFQ as it was showing to be a good general purpose I/O scheduler for a lot of wide ranging and general purpose I/O demands. Unfortunately you seem to have uncovered some cases where clearly it does not behave well for your use case where deadline would be more appropriate. Like all schedulers, it's hard to chose one that is going to meet every use case and every scenario perfectly, especially for a wide range of devices, device configurations, system memory size and file system choices.

We do try to systematically check the performance and latencies of various synthetic test scenarios across a range of file systems on each kernel to try and spot issues: http://kernel.ubuntu.com/~cking/fs-tests/jun-2017/

CFQ has several tunables that may help your issue, I'd refer you to:

https://www.kernel.org/doc/Documentation/block/cfq-iosched.txt

it may be worth reviewing this document and then seeing if the CFQ can be tuned to improve the issues you are seeing.