Commit bd25997d authored by Bhaktipriya Shridhar's avatar Bhaktipriya Shridhar Committed by David S. Miller

dwc_eth_qos: Remove deprecated create_singlethread_workqueue

alloc_workqueue replaces deprecated create_singlethread_workqueue().

A dedicated workqueue has been used since the workitem viz
lp->txtimeout_reinit is involved in reinitialization if a TX timeout
occurs, which is necessary to guarantee forward progress in packet
processing. As a network device can be used during memory reclaim, the
workqueue needs forward progress guarantee under memory pressure.
WQ_MEM_RECLAIM has been set to ensure this.

Since there is only a single work item, explicit concurrency limit is
unnecessary here.
Signed-off-by: default avatarBhaktipriya Shridhar <bhaktipriya96@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 858d68f1
...@@ -2910,7 +2910,8 @@ static int dwceqos_probe(struct platform_device *pdev) ...@@ -2910,7 +2910,8 @@ static int dwceqos_probe(struct platform_device *pdev)
(unsigned long)ndev); (unsigned long)ndev);
tasklet_disable(&lp->tx_bdreclaim_tasklet); tasklet_disable(&lp->tx_bdreclaim_tasklet);
lp->txtimeout_handler_wq = create_singlethread_workqueue(DRIVER_NAME); lp->txtimeout_handler_wq = alloc_workqueue(DRIVER_NAME,
WQ_MEM_RECLAIM, 0);
INIT_WORK(&lp->txtimeout_reinit, dwceqos_reinit_for_txtimeout); INIT_WORK(&lp->txtimeout_reinit, dwceqos_reinit_for_txtimeout);
platform_set_drvdata(pdev, ndev); platform_set_drvdata(pdev, ndev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment