linux/drivers/md/bcache
Kai Krakow 5431cb6730 bcache: Move journal work to new flush wq
commit afe78ab46f638ecdf80a35b122ffc92c20d9ae5d upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-04 10:26:43 +01:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile
alloc.c bcache: fix deadlock in bcache_allocator 2019-12-31 16:45:30 +01:00
bcache.h bcache: Move journal work to new flush wq 2021-03-04 10:26:43 +01:00
bset.c bcache: allocate meta data pages as compound pages 2020-08-21 13:05:25 +02:00
bset.h bcache: explicity type cast in bset_bkey_last() 2020-02-24 08:37:01 +01:00
btree.c bcache: Give btree_io_wq correct semantics again 2021-03-04 10:26:42 +01:00
btree.h bcache: fix race in btree_flush_write() 2019-06-28 07:39:18 -06:00
closure.c closures: fix a race on wakeup from closure_sync 2019-09-03 08:08:31 -06:00
closure.h bcache: fix typo in code comments of closure_return_with_destructor() 2018-10-08 08:19:43 -06:00
debug.c bcache: Fix an error code in bch_dump_read() 2019-09-03 08:08:29 -06:00
debug.h bcache: add identifier names to arguments of function definitions 2018-08-11 15:46:41 -06:00
extents.c bcache: treat stale && dirty keys as bad keys 2019-02-09 07:18:31 -07:00
extents.h bcache: add identifier names to arguments of function definitions 2018-08-11 15:46:41 -06:00
io.c bcache: ignore read-ahead request failure on backing device 2019-06-28 07:39:14 -06:00
journal.c bcache: Move journal work to new flush wq 2021-03-04 10:26:43 +01:00
journal.h bcache: performance improvement for btree_flush_write() 2019-06-28 07:39:18 -06:00
movinggc.c bcache: style fix to add a blank line after declarations 2018-08-11 15:46:41 -06:00
request.c bcache: add readahead cache policy options via sysfs interface 2020-02-11 04:35:37 -08:00
request.h bcache: Clean up bch_get_congested() 2019-04-24 10:56:27 -06:00
stats.c bcache: fix memory corruption in bch_cache_accounting_clear() 2020-02-24 08:37:01 +01:00
stats.h bcache: add identifier names to arguments of function definitions 2018-08-11 15:46:41 -06:00
super.c bcache: Move journal work to new flush wq 2021-03-04 10:26:43 +01:00
sysfs.c bcache: add readahead cache policy options via sysfs interface 2020-02-11 04:35:37 -08:00
sysfs.h bcache: add sysfs_strtoul_bool() for setting bit-field variables 2019-02-09 07:18:32 -07:00
trace.c
util.c bcache: avoid to use bio_for_each_segment_all() in bch_bio_alloc_pages() 2019-02-15 08:40:11 -07:00
util.h bcache: Revert "bcache: fix high CPU occupancy during journal" 2019-06-28 07:39:17 -06:00
writeback.c bcache: fix overflow in offset_to_stripe() 2020-08-21 13:05:25 +02:00
writeback.h bcache: fix overflow in offset_to_stripe() 2020-08-21 13:05:25 +02:00