From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751357AbcFRIWM (ORCPT ); Sat, 18 Jun 2016 04:22:12 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:33004 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750868AbcFRIWJ (ORCPT ); Sat, 18 Jun 2016 04:22:09 -0400 Date: Sat, 18 Jun 2016 13:52:05 +0530 From: Bhaktipriya Shridhar To: David Airlie Cc: Tejun Heo , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] mtip32xx: Remove deprecated create_workqueue Message-ID: <20160618082205.GA6234@Karyakshetra> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Signed-off-by: Bhaktipriya Shridhar --- drivers/block/mtip32xx/mtip32xx.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c index 6053e46..4bfb75b 100644 --- a/drivers/block/mtip32xx/mtip32xx.c +++ b/drivers/block/mtip32xx/mtip32xx.c @@ -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