mtip32xx: Remove deprecated create_workqueue
PATCH 1/1 mtip32xx: Remove deprecated create_workqueue
alloc_workqueue replaces deprecated create_workqueue().
A dedicated workqueue has been used since the workqueue isr_workq is involved in irq handling path of block driver and requires forward progress under memory pressure. Hence, WQ_MEM_RECLAIM has been set. Since there are only a fixed number of work items, explicit concurrency limit is unnecessary here.
flush_workqueue is unnecessary since destroy_workqueue() itself calls drain_workqueue() which flushes repeatedly till the workqueue becomes empty. Hence the calls to flush_workqueue() before destroy_workqueue() have been dropped.
--- drivers/block/mtip32xx/mtip32xx.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)
drivers/block/mtip32xx/mtip32xx.c +1 -3
@@ -4437,7 +4437,7 @@ static int mtip_pci_probe(struct pci_dev *pdev,memset (dd->workq_name,0 ,32 );snprintf (dd->workq_name,31 ,"mtipq%d" , dd->instance); - dd->isr_workq =create_workqueue (dd->workq_name); + dd->isr_workq =alloc_workqueue (dd->workq_name,WQ_MEM_RECLAIM ,0 );if (!dd->isr_workq) {dev_warn (&pdev->dev,"Can't create wq %d\n" , dd->instance); rv = -ENOMEM ;
@@ -4538,7 +4538,6 @@ block_initialize_err: msi_initialize_err:if (dd->isr_workq) { -flush_workqueue (dd->isr_workq);destroy_workqueue (dd->isr_workq);drop_cpu (dd->work[0 ].cpu_binding);drop_cpu (dd->work[1 ].cpu_binding);
@@ -4599,7 +4598,6 @@ static void mtip_pci_remove(struct pci_dev *pdev)mtip_block_remove (dd);if (dd->isr_workq) { -flush_workqueue (dd->isr_workq);destroy_workqueue (dd->isr_workq);drop_cpu (dd->work[0 ].cpu_binding);drop_cpu (dd->work[1 ].cpu_binding);
--
2.1.4
Quoted 8 lines · Bhaktipriya Shridhar
alloc_workqueuereplaces deprecatedcreate_workqueue().A dedicated workqueue has been used since the workqueue
isr_workqis involved in irq handling path of block driver and requires forward progress under memory pressure. Hence,WQ_MEM_RECLAIMhas been set. Since there are only a fixed number of work items, explicit concurrency limit is unnecessary here.
Quoted 4 lines
flush_workqueueis unnecessary sincedestroy_workqueue()itself callsdrain_workqueue()which flushes repeatedly till the workqueue becomes empty. Hence the calls toflush_workqueue()beforedestroy_workqueue()have been dropped.
Looks good.
Thanks!
Signature · 5 lines
tejun _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Tejun Heo
Acked-byQuoted 9 lines · Tejun Heo
Quoted 8 lines · Bhaktipriya Shridhar
alloc_workqueuereplaces deprecatedcreate_workqueue().A dedicated workqueue has been used since the workqueue
isr_workqis involved in irq handling path of block driver and requires forward progress under memory pressure. Hence,WQ_MEM_RECLAIMhas been set. Since there are only a fixed number of work items, explicit concurrency limit is unnecessary here.
Quoted 6 lines
Quoted 4 lines
flush_workqueueis unnecessary sincedestroy_workqueue()itself callsdrain_workqueue()which flushes repeatedly till the workqueue becomes empty. Hence the calls toflush_workqueue()beforedestroy_workqueue()have been dropped.Looks good.
lol thought this was a private review exchange. Sorry about that.
Thanks.
Signature · 5 lines
tejun _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel