From 4b840aeee395d554ac699ad2736553d5181ddda5 Mon Sep 17 00:00:00 2001 From: Gleb Chesnokov Date: Wed, 19 Jul 2023 19:37:34 +0300 Subject: [PATCH] scst: Do not use WQ_MEM_RECLAIM flag for workqueues According to kernel documentation, this flag should be set if the workqueue will be involved in the kernel's memory reclamation flow. Since it is not, there is no need for the driver's WQ to have this flag set so remove it. --- iscsi-scst/kernel/isert-scst/iser_global.c | 2 +- iscsi-scst/kernel/isert-scst/iser_rdma.c | 2 +- scst/src/scst_event.c | 2 +- scst/src/scst_lib.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/iscsi-scst/kernel/isert-scst/iser_global.c b/iscsi-scst/kernel/isert-scst/iser_global.c index e6e0ec2d4..c070a66fa 100644 --- a/iscsi-scst/kernel/isert-scst/iser_global.c +++ b/iscsi-scst/kernel/isert-scst/iser_global.c @@ -138,7 +138,7 @@ int isert_global_init(void) spin_lock_init(&isert_glob.portal_lock); init_waitqueue_head(&isert_glob.portal_wq); - isert_glob.conn_wq = alloc_workqueue("isert_conn_wq", WQ_MEM_RECLAIM, 1); + isert_glob.conn_wq = alloc_workqueue("isert_conn_wq", 0, 1); if (!isert_glob.conn_wq) { PRINT_ERROR("Failed to alloc iser conn work queue"); return -ENOMEM; diff --git a/iscsi-scst/kernel/isert-scst/iser_rdma.c b/iscsi-scst/kernel/isert-scst/iser_rdma.c index 439e36942..c5e30b167 100644 --- a/iscsi-scst/kernel/isert-scst/iser_rdma.c +++ b/iscsi-scst/kernel/isert-scst/iser_rdma.c @@ -1792,7 +1792,7 @@ struct isert_portal *isert_portal_create(struct sockaddr *sa, size_t addr_len) goto err_alloc; } - portal->reinit_id_wq = alloc_ordered_workqueue("isert_reinit_id_wq", WQ_MEM_RECLAIM); + portal->reinit_id_wq = alloc_ordered_workqueue("isert_reinit_id_wq", 0); if (unlikely(!portal->reinit_id_wq)) { PRINT_ERROR("Unable to allocate reinit workqueue"); err = -ENOMEM; diff --git a/scst/src/scst_event.c b/scst/src/scst_event.c index 7221008b4..b744e1766 100644 --- a/scst/src/scst_event.c +++ b/scst/src/scst_event.c @@ -1111,7 +1111,7 @@ int scst_event_init(void) TRACE_ENTRY(); - scst_event_wq = alloc_workqueue("scst_event_wq", WQ_MEM_RECLAIM, 0); + scst_event_wq = alloc_workqueue("scst_event_wq", 0, 0); if (unlikely(!scst_event_wq)) { PRINT_ERROR("Failed to allocate scst_event_wq"); res = -ENOMEM; diff --git a/scst/src/scst_lib.c b/scst/src/scst_lib.c index e12623074..208e58d67 100644 --- a/scst/src/scst_lib.c +++ b/scst/src/scst_lib.c @@ -15499,7 +15499,7 @@ int __init scst_lib_init(void) scst_scsi_op_list_init(); - scst_release_acg_wq = alloc_workqueue("scst_release_acg", WQ_MEM_RECLAIM, 1); + scst_release_acg_wq = alloc_workqueue("scst_release_acg", 0, 1); if (unlikely(!scst_release_acg_wq)) { PRINT_ERROR("Failed to allocate scst_release_acg_wq"); res = -ENOMEM;