diff options
author | Slava Pestov <sp@daterainc.com> | 2014-05-02 00:48:57 +0400 |
---|---|---|
committer | Kent Overstreet <kmo@daterainc.com> | 2014-08-05 02:23:03 +0400 |
commit | 9e5c353510b26500bd6b8309823ac9ef2837b761 (patch) | |
tree | ff1ff3500ed20d3b9ac2dc3338e1d6ad87e9e0ea /drivers/md/bcache/writeback.h | |
parent | c5aa4a3157b55bdca18dd2a9d9f43314470b6d32 (diff) | |
download | linux-9e5c353510b26500bd6b8309823ac9ef2837b761.tar.xz |
bcache: fix uninterruptible sleep in writeback thread
There were two issues here:
- writeback thread did not start until the device first became dirty
- writeback thread used uninterruptible sleep once running
Without this patch I see kernel warnings printed and a load average of
1.52 after booting my test VM. With this patch the warnings are gone and
the load average is near 0.00 as expected.
Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Diffstat (limited to 'drivers/md/bcache/writeback.h')
-rw-r--r-- | drivers/md/bcache/writeback.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/bcache/writeback.h b/drivers/md/bcache/writeback.h index e2f8598937ac..0a9dab187b79 100644 --- a/drivers/md/bcache/writeback.h +++ b/drivers/md/bcache/writeback.h @@ -85,6 +85,7 @@ static inline void bch_writeback_add(struct cached_dev *dc) void bcache_dev_sectors_dirty_add(struct cache_set *, unsigned, uint64_t, int); void bch_sectors_dirty_init(struct cached_dev *dc); -int bch_cached_dev_writeback_init(struct cached_dev *); +void bch_cached_dev_writeback_init(struct cached_dev *); +int bch_cached_dev_writeback_start(struct cached_dev *); #endif |