diff options
author | Coly Li <colyli@suse.de> | 2019-11-13 11:03:23 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-11-14 01:42:50 +0300 |
commit | c5fcdedcee4e6ae15c0eb5e0fbe25467e57d2963 (patch) | |
tree | 43c13af43995fb936ab8a19012157445a3815f3a /drivers/md/bcache/writeback.c | |
parent | 5dccefd3ea0b33cf3e5a45cbccc7e0bf22791655 (diff) | |
download | linux-c5fcdedcee4e6ae15c0eb5e0fbe25467e57d2963.tar.xz |
bcache: add idle_max_writeback_rate sysfs interface
For writeback mode, if there is no regular I/O request for a while,
the writeback rate will be set to the maximum value (1TB/s for now).
This is good for most of the storage workload, but there are still
people don't what the maximum writeback rate in I/O idle time.
This patch adds a sysfs interface file idle_max_writeback_rate to
permit people to disable maximum writeback rate. Then the minimum
writeback rate can be advised by writeback_rate_minimum in the
bcache device's sysfs interface.
Reported-by: Christian Balzer <chibi@gol.com>
Signed-off-by: Coly Li <colyli@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/md/bcache/writeback.c')
-rw-r--r-- | drivers/md/bcache/writeback.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c index d60268fe49e1..4a40f9eadeaf 100644 --- a/drivers/md/bcache/writeback.c +++ b/drivers/md/bcache/writeback.c @@ -122,6 +122,10 @@ static void __update_writeback_rate(struct cached_dev *dc) static bool set_at_max_writeback_rate(struct cache_set *c, struct cached_dev *dc) { + /* Don't sst max writeback rate if it is disabled */ + if (!c->idle_max_writeback_rate_enabled) + return false; + /* Don't set max writeback rate if gc is running */ if (!c->gc_mark_valid) return false; |