bonding: Remove deprecated create_singlethread_workqueue
authorBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Tue, 30 Aug 2016 16:32:01 +0000 (22:02 +0530)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Sep 2016 23:41:07 +0000 (16:41 -0700)
alloc_ordered_workqueue() with WQ_MEM_RECLAIM set, replaces
deprecated create_singlethread_workqueue(). This is the identity
conversion.

The workqueue "wq" queues multiple work items viz
&bond->mcast_work, &nnw->work, &bond->mii_work, &bond->arp_work,
&bond->alb_work, &bond->mii_work, &bond->ad_work, &bond->slave_arr_work
which require strict execution ordering. Hence, an ordered dedicated
workqueue has been used.

Since, it is a network driver, WQ_MEM_RECLAIM has been set to
ensure forward progress under memory pressure.

Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c

index 217e8da0628caa909aa212e3c2598dc0ca09da68..c6a1309b2131a4ceb911f1df83d90ae932177eed 100644 (file)
@@ -4627,7 +4627,7 @@ static int bond_init(struct net_device *bond_dev)
 
        netdev_dbg(bond_dev, "Begin bond_init\n");
 
-       bond->wq = create_singlethread_workqueue(bond_dev->name);
+       bond->wq = alloc_ordered_workqueue(bond_dev->name, WQ_MEM_RECLAIM);
        if (!bond->wq)
                return -ENOMEM;