[Devel] [PATCH RH7 0/9] block: backport writeback throttling
Pavel Tikhomirov
ptikhomirov at virtuozzo.com
Sat Sep 21 11:32:18 MSK 2019
We have a problem that if we run heavy write load on one cpu
simultaneousely with short direct reads on other cpu, the latter will
hang significantly. Writeback throttling looks like a sollution for
these reads, as it will decrease the priority of long running writeback.
Running simple dd experiment we see that reads latency decreased after
wbt patches applied:
https://docs.google.com/spreadsheets/d/1HLtepwFL_N5zm0JcTqMtJoYnf-b6Slwld8DDgL0gNDI
We've ran vconsolidate on custom kernel with these patches, though it
does not show any performance improvement (likely because this test does
not produce high rate of writeback), it does not crash or fail the test.
https://jira.sw.ru/browse/PSBM-96243
Jens Axboe (6):
block: add REQ_BACKGROUND
writeback: add wbc_to_write_flags()
writeback: mark background writeback as such
writeback: track if we're sleeping on progress in
balance_dirty_pages()
blk-wbt: add general throttling mechanism
block: hook up writeback throttling
Omar Sandoval (1):
block: get rid of struct blk_issue_stat
Pavel Tikhomirov (2):
x86/asm: remove the unused get_limit() method
block: enable CONFIG_BLK_WBT*
Documentation/block/queue-sysfs.txt | 7 +
arch/x86/include/asm/segment.h | 7 -
block/Kconfig | 26 +
block/Makefile | 1 +
block/blk-core.c | 22 +-
block/blk-mq.c | 22 +-
block/blk-settings.c | 4 +
block/blk-stat.c | 7 +-
block/blk-stat.h | 24 -
block/blk-sysfs.c | 66 ++
block/blk-wbt.c | 722 ++++++++++++++++++++
block/blk-wbt.h | 156 +++++
block/cfq-iosched.c | 11 +
block/kyber-iosched.c | 6 +-
configs/kernel-3.10.0-x86_64-debug.config | 3 +
configs/kernel-3.10.0-x86_64-minimal.config | 3 +
configs/kernel-3.10.0-x86_64.config | 3 +
fs/buffer.c | 3 +-
fs/f2fs/data.c | 2 +-
fs/f2fs/node.c | 2 +-
fs/gfs2/meta_io.c | 3 +-
fs/xfs/xfs_aops.c | 6 +-
include/linux/backing-dev.h | 3 +
include/linux/blk-mq.h | 1 -
include/linux/blk_types.h | 6 +-
include/linux/blkdev.h | 22 +-
include/linux/writeback.h | 11 +
include/trace/events/wbt.h | 153 +++++
mm/backing-dev.c | 3 +-
mm/page-writeback.c | 2 +
mm/page_io.c | 3 +-
31 files changed, 1238 insertions(+), 72 deletions(-)
create mode 100644 block/blk-wbt.c
create mode 100644 block/blk-wbt.h
create mode 100644 include/trace/events/wbt.h
--
2.21.0
More information about the Devel
mailing list