This is a note to let you know that I've just added the patch titled bcache: Give btree_io_wq correct semantics again to the 5.11-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: bcache-give-btree_io_wq-correct-semantics-again.patch and it can be found in the queue-5.11 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From d797bd9897e3559eb48d68368550d637d32e468c Mon Sep 17 00:00:00 2001 From: Kai Krakow <kai@xxxxxxxxxxx> Date: Wed, 10 Feb 2021 13:07:26 +0800 Subject: bcache: Give btree_io_wq correct semantics again From: Kai Krakow <kai@xxxxxxxxxxx> commit d797bd9897e3559eb48d68368550d637d32e468c upstream. Before killing `btree_io_wq`, the queue was allocated using `create_singlethread_workqueue()` which has `WQ_MEM_RECLAIM`. After killing it, it no longer had this property but `system_wq` is not single threaded. Let's combine both worlds and make it multi threaded but able to reclaim memory. Cc: Coly Li <colyli@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 5.4+ Signed-off-by: Kai Krakow <kai@xxxxxxxxxxx> Signed-off-by: Coly Li <colyli@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/md/bcache/btree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/md/bcache/btree.c +++ b/drivers/md/bcache/btree.c @@ -2775,7 +2775,7 @@ void bch_btree_exit(void) int __init bch_btree_init(void) { - btree_io_wq = create_singlethread_workqueue("bch_btree_io"); + btree_io_wq = alloc_workqueue("bch_btree_io", WQ_MEM_RECLAIM, 0); if (!btree_io_wq) return -ENOMEM; Patches currently in stable-queue which might be from kai@xxxxxxxxxxx are queue-5.11/revert-bcache-kill-btree_io_wq.patch queue-5.11/bcache-give-btree_io_wq-correct-semantics-again.patch queue-5.11/bcache-move-journal-work-to-new-flush-wq.patch