| From 57c862900fae3b3a9158e28e71f8a6f1af305246 Mon Sep 17 00:00:00 2001 |
| From: Kai Krakow <kai@kaishome.de> |
| Date: Fri, 29 Jan 2021 17:40:06 +0100 |
| Subject: [PATCH 4/5] bcache: Give btree_io_wq correct semantics again |
| |
| 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@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> |
| --- |
| drivers/md/bcache/btree.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c |
| index 952f022db5a5..fe6dce125aba 100644 |
| --- 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; |
| |
| -- |
| 2.26.2 |
| |