Browse Source

IB/ipoib: Remove deprecated create_singlethread_workqueue

alloc_ordered_workqueue() replaces deprecated
create_singlethread_workqueue().

The workqueue "ipoib_workqueue" that is used for all flush operations
for the device.

WQ_MEM_RECLAIM has been set since the flush operations may need to
complete in order for other network functions to continue, and
the memory reclaim operation might need the network functioning in
order to make progress.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Bhaktipriya Shridhar 9 years ago
parent
commit
855cda6828
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/infiniband/ulp/ipoib/ipoib_main.c

+ 2 - 1
drivers/infiniband/ulp/ipoib/ipoib_main.c

@@ -2196,7 +2196,8 @@ static int __init ipoib_init_module(void)
 	 * its private workqueue, and we only queue up flush events
 	 * its private workqueue, and we only queue up flush events
 	 * on our global flush workqueue.  This avoids the deadlocks.
 	 * on our global flush workqueue.  This avoids the deadlocks.
 	 */
 	 */
-	ipoib_workqueue = create_singlethread_workqueue("ipoib_flush");
+	ipoib_workqueue = alloc_ordered_workqueue("ipoib_flush",
+						  WQ_MEM_RECLAIM);
 	if (!ipoib_workqueue) {
 	if (!ipoib_workqueue) {
 		ret = -ENOMEM;
 		ret = -ENOMEM;
 		goto err_fs;
 		goto err_fs;