IB/addr: Remove deprecated create_singlethread_workqueue
authorBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Mon, 15 Aug 2016 18:00:32 +0000 (23:30 +0530)
committerDoug Ledford <dledford@redhat.com>
Fri, 7 Oct 2016 20:54:25 +0000 (16:54 -0400)
The workqueue "addr_wq" queues a single work item &work and hence
doesn't require ordering. Also, it is being used on a memory reclaim
path. Hence, it has been converted to use alloc_workqueue with
WQ_MEM_RECLAIM set.

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

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/addr.c

index 1374541..b136d3a 100644 (file)
@@ -800,7 +800,7 @@ static struct notifier_block nb = {
 
 int addr_init(void)
 {
-       addr_wq = create_singlethread_workqueue("ib_addr");
+       addr_wq = alloc_workqueue("ib_addr", WQ_MEM_RECLAIM, 0);
        if (!addr_wq)
                return -ENOMEM;