diff options
author | Kai Krakow <kai@kaishome.de> | 2021-02-10 06:07:27 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-02-10 16:06:00 +0100 |
commit | afe78ab46f638ecdf80a35b122ffc92c20d9ae5d (patch) | |
tree | 8c7f39e4bb4d89486a814c48002d4cd0eb843069 /drivers/md/bcache/bcache.h | |
parent | bcache: Give btree_io_wq correct semantics again (diff) | |
download | linux-afe78ab46f638ecdf80a35b122ffc92c20d9ae5d.tar.xz linux-afe78ab46f638ecdf80a35b122ffc92c20d9ae5d.zip |
bcache: Move journal work to new flush wq
This is potentially long running and not latency sensitive, let's get
it out of the way of other latency sensitive events.
As observed in the previous commit, the `system_wq` comes easily
congested by bcache, and this fixes a few more stalls I was observing
every once in a while.
Let's not make this `WQ_MEM_RECLAIM` as it showed to reduce performance
of boot and file system operations in my tests. Also, without
`WQ_MEM_RECLAIM`, I no longer see desktop stalls. This matches the
previous behavior as `system_wq` also does no memory reclaim:
> // workqueue.c:
> system_wq = alloc_workqueue("events", 0, 0);
Cc: Coly Li <colyli@suse.de>
Cc: stable@vger.kernel.org # 5.4+
Signed-off-by: Kai Krakow <kai@kaishome.de>
Signed-off-by: Coly Li <colyli@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/md/bcache/bcache.h')
-rw-r--r-- | drivers/md/bcache/bcache.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/bcache/bcache.h b/drivers/md/bcache/bcache.h index 2b8c7dd2cfae..848dd4db1659 100644 --- a/drivers/md/bcache/bcache.h +++ b/drivers/md/bcache/bcache.h @@ -1005,6 +1005,7 @@ void bch_write_bdev_super(struct cached_dev *dc, struct closure *parent); extern struct workqueue_struct *bcache_wq; extern struct workqueue_struct *bch_journal_wq; +extern struct workqueue_struct *bch_flush_wq; extern struct mutex bch_register_lock; extern struct list_head bch_cache_sets; |