alloc_ordered_workqueue() with WQ_MEM_RECLAIM set, replaces
deprecated create_singlethread_workqueue(). This is the identity
conversion.

The workqueue "close_wq" queues work items &ctx->close_work (maps to
ucma_close_id) and &con_req_eve->close_work (maps to
ucma_close_event_id). It has been identity converted.

WQ_MEM_RECLAIM has been set to ensure forward progress under
memory pressure.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriy...@gmail.com>
---
 drivers/infiniband/core/ucma.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/infiniband/core/ucma.c b/drivers/infiniband/core/ucma.c
index c0f3826..9045387 100644
--- a/drivers/infiniband/core/ucma.c
+++ b/drivers/infiniband/core/ucma.c
@@ -1628,7 +1628,8 @@ static int ucma_open(struct inode *inode, struct file 
*filp)
        if (!file)
                return -ENOMEM;

-       file->close_wq = create_singlethread_workqueue("ucma_close_id");
+       file->close_wq = alloc_ordered_workqueue("ucma_close_id",
+                                                WQ_MEM_RECLAIM);
        if (!file->close_wq) {
                kfree(file);
                return -ENOMEM;
--
2.1.4

Reply via email to