Commits
Jens Axboe authored and Konstantin Khorenko committed 7f4e4674f3c
ms/writeback: add wbc_to_write_flags() Add wbc_to_write_flags(), which returns the write modifier flags to use, based on a struct writeback_control. No functional changes in this patch, but it prepares us for factoring other wbc fields for write type. Signed-off-by: Jens Axboe <axboe@fb.com> Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Christoph Hellwig <hch@lst.de> https://jira.sw.ru/browse/PSBM-96243 (cherry picked from commit 7637241e651ec36e409412869f986dd5f097735f) Make wbc_to_write_flags return REQ_SYNC | REQ_NOIDLE as we don't have commit a2b809672ee6 ("block: replace REQ_NOIDLE with REQ_IDLE") Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com> ===================== Patchset description: block: backport writeback throttling 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* blk-wbt: increase maximum queue depth to increase performance of writes