Re: workqueue: WQ_MEM_RECLAIM nvmet-wq:nvmet_rdma_release_queue_work [nvmet_rdma] is flushing !WQ_MEM_RECLAIM irdma-cleanup-wq:irdma_flush_worker [irdma]

Honggang LI
2024-12-14T02:26:57Z

On Fri, Dec 13, 2024 at 08:30:01PM +0100, Zhu Yanjun wrote:
> I delved into this problem. It seems that it is a known problem.
> Can you apply the following to make tests again?
>
> diff --git a/drivers/infiniband/hw/irdma/hw.c
> b/drivers/infiniband/hw/irdma/hw.c
> index ad50b77282f8..31501ff9f282 100644
> --- a/drivers/infiniband/hw/irdma/hw.c
> +++ b/drivers/infiniband/hw/irdma/hw.c
> @@ -1872,7 +1872,7 @@ int irdma_rt_init_hw(struct irdma_device *iwdev,
> * free cq bufs
> */
> iwdev->cleanup_wq = alloc_workqueue("irdma-cleanup-wq",
> - WQ_UNBOUND, WQ_UNBOUND_MAX_ACTIVE);
> + WQ_UNBOUND|WQ_MEM_RECLAIM,

After add flag WQ_MEM_RECLAIM, the warning message is gone. However,
it may raise similar issue fixed by commit 2cc7d150550 again.

thanks

commit 2cc7d150550cc981aceedf008f5459193282425c
Author: Sindhu Devale <sindhu.devale@intel.com>
Date: Tue Apr 23 11:27:17 2024 -0700

i40e: Do not use WQ_MEM_RECLAIM flag for workqueue