Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b4541f6f authored by Bhaktipriya Shridhar's avatar Bhaktipriya Shridhar Committed by Doug Ledford
Browse files

IB/ipoib_verbs: Remove deprecated create_singlethread_workqueue



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

The workqueue "wq" queues mulitple work items viz &priv->restart_task,
&priv->cm.rx_reap_task, &priv->cm.skb_task, &priv->neigh_reap_task,
&priv->ah_reap_task, &priv->mcast_task and &priv->carrier_on_task.
The work items require strict execution ordering.
Hence, an ordered dedicated workqueue has been used.

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

Signed-off-by: default avatarBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent 855cda68
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -157,7 +157,7 @@ int ipoib_transport_dev_init(struct net_device *dev, struct ib_device *ca)
	 * the various IPoIB tasks assume they will never race against
	 * the various IPoIB tasks assume they will never race against
	 * themselves, so always use a single thread workqueue
	 * themselves, so always use a single thread workqueue
	 */
	 */
	priv->wq = create_singlethread_workqueue("ipoib_wq");
	priv->wq = alloc_ordered_workqueue("ipoib_wq", WQ_MEM_RECLAIM);
	if (!priv->wq) {
	if (!priv->wq) {
		printk(KERN_WARNING "ipoib: failed to allocate device WQ\n");
		printk(KERN_WARNING "ipoib: failed to allocate device WQ\n");
		goto out_free_pd;
		goto out_free_pd;