diff options
| author | Tim Gardner <tim.gardner@canonical.com> | 2017-01-18 18:43:34 (GMT) |
|---|---|---|
| committer | Tim Gardner <tim.gardner@canonical.com> | 2017-02-20 03:57:58 (GMT) |
| commit | af80b83a2b6184fea27f050948146fcd9a28070d (patch) | |
| tree | cf8abdf55339b262f44d7fd69078b92aa716dcb0 | |
| parent | 6c7537261c19ce03fb6508e0774220d40841904c (diff) | |
UBUNTU: [Config] CONFIG_DEFAULT_IOSCHED=cfq
Hi there,
after several days of running (way too) many tests, I've got some data
to show that it may be a good idea to drop the DEADLINE I/O scheduler
for Zesty and move to CFQ with buffered writeback throttling (WBT) +
WBT_MQ (WBT multi-queu) enabled.
We originally moved to DEADLINE because of the issues with slow I/O (say
to flash drives) causing applications to hang while blocked on the slow
I/O being flushed out. It seems that with the recent 4.10 WBT driver
and (possibly other block driver changes) we see some performance
benefits also with CFQ, namely:
1. Faster boots. On a 8 thread Xeon CPU E3-1275 I'm seeing a reduction
in usertime boots from 33.92s (Deadline) to ~24.5s (CFQ)
See: http://kernel.ubuntu.com/~cking/wbt/iosched-boot.ods
2. Faster build times (yay!) and better performance when writing across
multiple devices (especially when one of these is a slow flash device).
See: http://kernel.ubuntu.com/~cking/wbt/blk-mq-sq.ods
There are some places where CFQ + MQ is less performant than CFQ + MQ +
SQ, and vice-versa. However, my general feeling for Zesty is that we
should give this a try as it seems to work well. The config changes are:
1. disable CONFIG_DEFAULT_DEADLINE
2. enable CONFIG_DEFAULT_CFQ
3. enable CONFIG_BLK_WBT
4. enable CONFIG_BLK_WBT_MQ
This will give us plenty of time to give this a good test in the next
few months and revert them if we find any problematic corner cases.
(The win on boot time, build times and writes to slow devices) is
probably the most compelling choice for these changes IMHO.
Colin King
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
| -rw-r--r-- | debian.master/config/config.common.ubuntu | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/debian.master/config/config.common.ubuntu b/debian.master/config/config.common.ubuntu index dfa66bf..bbe5224 100644 --- a/debian.master/config/config.common.ubuntu +++ b/debian.master/config/config.common.ubuntu @@ -953,7 +953,7 @@ CONFIG_BLK_DEV_ZONED=y CONFIG_BLK_MQ_PCI=y CONFIG_BLK_WBT=y CONFIG_BLK_WBT_MQ=y -CONFIG_BLK_WBT_SQ=y +# CONFIG_BLK_WBT_SQ is not set CONFIG_BLOCK=y CONFIG_BLOCK_COMPAT=y CONFIG_BL_SWITCHER=y @@ -1957,12 +1957,12 @@ CONFIG_DECOMPRESS_LZ4=y CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_LZO=y CONFIG_DECOMPRESS_XZ=y -# CONFIG_DEFAULT_CFQ is not set +CONFIG_DEFAULT_CFQ=y CONFIG_DEFAULT_CUBIC=y -CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_DEADLINE is not set CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 -CONFIG_DEFAULT_IOSCHED="deadline" +CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_DEFAULT_IO_DELAY_TYPE=1 # CONFIG_DEFAULT_NOOP is not set # CONFIG_DEFAULT_RENO is not set |
