From patchwork Sat Jun 4 14:10:04 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bhaktipriya Shridhar X-Patchwork-Id: 630188 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3rMNCv6fGNz9t69 for ; Sun, 5 Jun 2016 00:10:51 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=XC+hWF1M; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750960AbcFDOKa (ORCPT ); Sat, 4 Jun 2016 10:10:30 -0400 Received: from mail-pa0-f68.google.com ([209.85.220.68]:36729 "EHLO mail-pa0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750875AbcFDOK3 (ORCPT ); Sat, 4 Jun 2016 10:10:29 -0400 Received: by mail-pa0-f68.google.com with SMTP id fg1so8163454pad.3; Sat, 04 Jun 2016 07:10:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mime-version:content-disposition :user-agent; bh=meWOHB9J5GZCpQHn0Um3rCUsARhazLAaQNpF0DAciPI=; b=XC+hWF1MRigzSJs1Ed0w6TvJZF43C7yf5rGGsevgjk/ADpyDN40jUjuCcwID6So6Qt Zog+P60Athm/UDM4IZTDiVwtUYMPbLzvj0eutH0IaUiZYd9w4Ewqzpp8PSyTTHWUw6wi 0cQNChnxWhPx6nCfi4sAnuPg6zTLAomoNWZSYz7PGXwgQfvD7WNg0sXsmb3MnUM7Yqm0 1U/oPRpOVuCLujOpJxIOV20nJX6PRZ0BA/DzBTxxrGQP7hQ6T4itE3t4nkr9He8t0UTY Z3KJtoy/T/5+1q4ucALnBN3lzLZohT0ZggDU8H52r3lOjYNmYq2sv7lUADb2P1UO+J/p RxDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:user-agent; bh=meWOHB9J5GZCpQHn0Um3rCUsARhazLAaQNpF0DAciPI=; b=VBdR57SjW30RafhZjTX5xHIfqOzaoAftO7aKfx9zzGJqXtr/xjH3ZXKZmWMU5Jx0xo SaAXhUK7UJyAsqajke5AnsqZWYimimUwqXfnYuZqZAiPVOqmbVPAupDQqsIwaAsMj4nW BDhNAzR5x5dSoZgypt5q52ow85gjif4z80KIhpLfK0A5RQcR/i+IAFiFtyQjO1Bl9RLb H4tIbLqNaq7mm92gi1+4hsaPmm5KuOZo18PcjrKtjG9oR+tun8jroQR366PiGJOcaemV 0P3NP9lBzPj/kgjvkEDShtX+5pIhdKI1QeRswyf6A7Ob8u3cPpYIcOl7ujFcDoz/PjAh kW6w== X-Gm-Message-State: ALyK8tJzmInv2YYp3pmHs+d+eND6OMHIqi6q4HjDN6Fp1phZI7ZPoBCcAy+kT+yMEJe7aA== X-Received: by 10.66.88.73 with SMTP id be9mr11956740pab.113.1465049428965; Sat, 04 Jun 2016 07:10:28 -0700 (PDT) Received: from Karyakshetra ([1.23.6.66]) by smtp.gmail.com with ESMTPSA id fl1sm13286657pab.43.2016.06.04.07.10.18 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 04 Jun 2016 07:10:28 -0700 (PDT) Date: Sat, 4 Jun 2016 19:40:04 +0530 From: Bhaktipriya Shridhar To: "David S. Miller" , Taku Izumi , Florian Westphal , Bhaktipriya Shridhar Cc: Tejun Heo , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] net: fjes: fjes_main: Remove create_workqueue Message-ID: <20160604141004.GA30209@Karyakshetra> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org alloc_workqueue replaces deprecated create_workqueue(). The workqueue adapter->txrx_wq has workitem &adapter->raise_intr_rxdata_task per adapter. Extended Socket Network Device is shared memory based, so someone's transmission denotes other's reception. raise_intr_rxdata_task raises interruption of receivers from the sender in order to notify receivers. Forward progress under memory pressure is a requirement here. The workqueue adapter->control_wq has workitem &adapter->interrupt_watch_task per adapter. interrupt_watch_task is used to prevent delay of interrupts. Forward progress under memory pressure is a requirement here. Dedicated workqueues have been used in both cases since the workitems on the workqueues are involved in normal device operation with WQ_MEM_RECLAIM set to gurantee forward progress under memory pressure. Since there are only a fixed number of work items, explicit concurrency limit is unnecessary. Signed-off-by: Bhaktipriya Shridhar --- Changes in v2: - Changed commit description to more concise one. drivers/net/fjes/fjes_main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -- 2.1.4 diff --git a/drivers/net/fjes/fjes_main.c b/drivers/net/fjes/fjes_main.c index 86c331b..9006877 100644 --- a/drivers/net/fjes/fjes_main.c +++ b/drivers/net/fjes/fjes_main.c @@ -1187,8 +1187,9 @@ static int fjes_probe(struct platform_device *plat_dev) adapter->force_reset = false; adapter->open_guard = false; - adapter->txrx_wq = create_workqueue(DRV_NAME "/txrx"); - adapter->control_wq = create_workqueue(DRV_NAME "/control"); + adapter->txrx_wq = alloc_workqueue(DRV_NAME "/txrx", WQ_MEM_RECLAIM, 0); + adapter->control_wq = alloc_workqueue(DRV_NAME "/control", + WQ_MEM_RECLAIM, 0); INIT_WORK(&adapter->tx_stall_task, fjes_tx_stall_task); INIT_WORK(&adapter->raise_intr_rxdata_task,