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

The workqueue "mcg_wq" queues work items &group->work
and &group->timeout_work.

The workqueue "clean_wq" queues work item mcg_clean_task.

Both have 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/hw/mlx4/mcg.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/mlx4/mcg.c b/drivers/infiniband/hw/mlx4/mcg.c
index 8f7ad07..7d30be0 100644
--- a/drivers/infiniband/hw/mlx4/mcg.c
+++ b/drivers/infiniband/hw/mlx4/mcg.c
@@ -1045,7 +1045,7 @@ int mlx4_ib_mcg_port_init(struct mlx4_ib_demux_ctx *ctx)

        atomic_set(&ctx->tid, 0);
        sprintf(name, "mlx4_ib_mcg%d", ctx->port);
-       ctx->mcg_wq = create_singlethread_workqueue(name);
+       ctx->mcg_wq = alloc_ordered_workqueue(name, WQ_MEM_RECLAIM);
        if (!ctx->mcg_wq)
                return -ENOMEM;

@@ -1246,7 +1246,7 @@ void clean_vf_mcast(struct mlx4_ib_demux_ctx *ctx, int 
slave)

 int mlx4_ib_mcg_init(void)
 {
-       clean_wq = create_singlethread_workqueue("mlx4_ib_mcg");
+       clean_wq = alloc_ordered_workqueue("mlx4_ib_mcg", WQ_MEM_RECLAIM);
        if (!clean_wq)
                return -ENOMEM;

--
2.1.4

Reply via email to