From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757751AbcH3Qee (ORCPT ); Tue, 30 Aug 2016 12:34:34 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:33529 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754607AbcH3Qec (ORCPT ); Tue, 30 Aug 2016 12:34:32 -0400 Date: Tue, 30 Aug 2016 22:04:28 +0530 From: Bhaktipriya Shridhar To: Joshua Morris , Philip Kelleher Cc: Tejun Heo , linux-kernel@vger.kernel.org Subject: [PATCH] rsxx: Remove deprecated create_singlethread_workqueue Message-ID: <20160830163428.GA25978@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 The workqueue "creg_wq" queues a single work item viz &card->creg_ctrl.done_work and hence it doesn't require execution ordering. Hence, alloc_workqueue has been used to replace the deprecated create_singlethread_workqueue instance. The workqueue "event_wq" queues a single work item viz &card->event_work and hence it doesn't require execution ordering. Hence, alloc_workqueue has been used to replace the deprecated create_singlethread_workqueue instance. The WQ_MEM_RECLAIM flag has been set in both cases to ensure forward progress under memory pressure. Since there are a fixed number of work items, explicit concurrency limit is unnecessary here. Signed-off-by: Bhaktipriya Shridhar --- drivers/block/rsxx/core.c | 3 ++- drivers/block/rsxx/cregs.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/block/rsxx/core.c b/drivers/block/rsxx/core.c index 34997df..d46cab9 100644 --- a/drivers/block/rsxx/core.c +++ b/drivers/block/rsxx/core.c @@ -887,7 +887,8 @@ static int rsxx_pci_probe(struct pci_dev *dev, } /************* Setup Card Event Handler *************/ - card->event_wq = create_singlethread_workqueue(DRIVER_NAME"_event"); + card->event_wq = alloc_workqueue(DRIVER_NAME "_event", WQ_MEM_RECLAIM, + 0); if (!card->event_wq) { dev_err(CARD_TO_DEV(card), "Failed card event setup.\n"); goto failed_event_handler; diff --git a/drivers/block/rsxx/cregs.c b/drivers/block/rsxx/cregs.c index 926dce9..4f5a2e8 100644 --- a/drivers/block/rsxx/cregs.c +++ b/drivers/block/rsxx/cregs.c @@ -736,8 +736,8 @@ int rsxx_creg_setup(struct rsxx_cardinfo *card) { card->creg_ctrl.active_cmd = NULL; - card->creg_ctrl.creg_wq = - create_singlethread_workqueue(DRIVER_NAME"_creg"); + card->creg_ctrl.creg_wq = alloc_workqueue(DRIVER_NAME "_creg", + WQ_MEM_RECLAIM, 0); if (!card->creg_ctrl.creg_wq) return -ENOMEM; -- 2.1.4