From patchwork Thu Mar 8 06:23:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Manlunas, Felix" X-Patchwork-Id: 882971 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cavium.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="JB/3YKUs"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zxgSd2zpTz9s6t for ; Thu, 8 Mar 2018 17:23:45 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935585AbeCHGXn (ORCPT ); Thu, 8 Mar 2018 01:23:43 -0500 Received: from mail-bn3nam01on0048.outbound.protection.outlook.com ([104.47.33.48]:26063 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935418AbeCHGXh (ORCPT ); Thu, 8 Mar 2018 01:23:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=68YLoZLmC5s/hLQeC7d/f7ATY/ZyM8AHemPn06TSkBE=; b=JB/3YKUsYrVAreV0QQeG2Kjq3pKmJIRugsuRyeESFB46PPNHRkxKK9qOa5FvoAec957IbzRkJ23w9VnbtKcdAdHZBffKUwJDh/G+Jgf/qofp3m7MfmtaIejL8V1UJrsPds5nEPGRPizer3y1WNjlX/1OwEx9CKIqYWr8MPLGa7M= Received: from localhost (50.233.148.156) by DM6PR07MB4218.namprd07.prod.outlook.com (2603:10b6:5:bd::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.548.13; Thu, 8 Mar 2018 06:23:34 +0000 Date: Wed, 7 Mar 2018 22:23:32 -0800 From: Felix Manlunas To: davem@davemloft.net Cc: netdev@vger.kernel.org, raghu.vatsavayi@cavium.com, derek.chickles@cavium.com, satananda.burla@cavium.com, felix.manlunas@cavium.com, prasad.kanneganti@cavium.com Subject: [PATCH net-next] liquidio: avoid doing useless work Message-ID: <20180308062332.GA5342@felix-thinkpad.cavium.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.6.1 (2016-04-27) X-Originating-IP: [50.233.148.156] X-ClientProxiedBy: CO1PR15CA0043.namprd15.prod.outlook.com (2603:10b6:101:1f::11) To DM6PR07MB4218.namprd07.prod.outlook.com (2603:10b6:5:bd::27) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2114c67d-31c6-4578-72a7-08d584bd1f37 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DM6PR07MB4218; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4218; 3:w26I8ohZj1kVlLiE5mgZafu1XzkVub4/Vr3sqWkCdeQP70xBuo8ZUcMYi29HPcZUlR7kWO17+odEHfe3mozhiDbtBD15tPbm04iK7A2dmZi6ljsvvBgvHeXba3cx1facsKKZ5CxbMw94NMSZGxGyLQcvD6uOcaQXTaxZGSPgi8aa1dmd/lZtW/XE/xMqzSCCLCaCuBueQiR7MCqfAFnNN1qOc/wQJkEE7Fe7slTgsmsDYJUlkiV3xqyXjNBWuwVf; 25:thyIi3awoApw/KEXyN0TOTjaGbwZ2dIbu84SWXi47ySXYjuQLeERpadP6gAufoxrWJ+LQgx0bUWTZ565YJMbw8AihrkzR88VxOOMR+2zkIm3l11uMvPKCYCjVZnqMnhk+I+KD1TGXMGHOsNociqwWcBtKe65PAyV3wt62ywpmTyqhqm9Oyh583bmcxq36UnApt/9HMolISTsyCfVFG04ACI64UMcPc5blrCkTrRWGwaZD9nAT5tealEY8fkR4FiUgHdzQPxf3jP9G4UxA/Dxt3xbZ1DoBPbW9Cu+3Mk2nw/I0Sni4d3YI3tJ3SWVwhFTwYVQGc8MFgX3J5LCjfWxEA==; 31:hXMUKkRW+gvCkf5Z/6iMLZOSV67pRvkICHgkUILrDfXxU9oakB/esnuZmPojVmGpdxbxyXVQBR+dt59s7G9xp83Q3uiYE417nhXu4hWtq21Gn1bTrL8mWmepT0BMbQFnHRU/l9UI0Dy7B4FVpNpwCiHnEYcGemCbf9OV8LxrgJYvUhWrjBNWGxVEH9qnOwVTjYUi1Jysue0f+3kPsqPv5eRLmi5s023dOEiZppzeMAA= X-MS-TrafficTypeDiagnostic: DM6PR07MB4218: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Felix.Manlunas@cavium.com; X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4218; 20:yoxwuvbNuVyRsck6NTU2pYdrxVMdkrQQxF65tixPdRXHjbkAZQQ1hiZuv98RIeB4bmd/29zQsBnDo/feQa9Vn7xkwImzzazkqunHcgOC4c6bV2P8Ns+eKje853qyTGryVxMDSHL+hy149tiJKxdxDn5d3bPsTvRQbRzZtNTI1gLiT3KiErrRFgRdcFe0v0TACsDjm/LRyQkw2jHcie3R5gq8s/amlyUMfbg8NZAh1FSeVKUW/rmLwtqqhsHjVy1u/KZVl7v8nW3OTvk290QPP+ZH66Gb0y5rWJh1WJzeHSWRwhl7uqTtNgVwHpiGoVkxMO041hTc2AdS4XFXgBStnnPiDUm8YqbJkuROtQjJUkv6iiVXNZ/bAnDdKUSpC8ANaJ+cM6xW8LNKUKHZ4GokojwLcgsH3KwxVaZmiqaL/oobzwwVEEVCHLHfAAsX3vJiIOw3KEW3OP2x0O4SbdGYxxBJ7HCJjdtJwttgg8/livJqjOaSkmYUfccRmMkoTGTI; 4:22rMk+8qjPfOo2YJM6IdUTeM4fFFUuE9D3/jlx1/dcPaXh+howMwGQiVbM0kdqpvScxiuTAePnVK5E9w5rF1X8mmc7Plksh/VSj3x1juZntBzzwMOGc0dpSQ57n9VioBaUDglQyxjHGItXddHtCbaCabQ3t7pCqB752a+NeAqee7NjaPOtGatlnciHQFUthoLR4/2+3aeFLgaDa+8xojQBIiAbbcwF1ZfsKpMLmp8yG/mjOyyezd3YcfvipPuipAc3TXm875mg4wv0M00S5TxQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040501)(2401047)(8121501046)(5005006)(3231220)(944501244)(52105095)(10201501046)(3002001)(93006095)(93001095)(6041288)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:DM6PR07MB4218; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB4218; X-Forefront-PRVS: 060503E79B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(346002)(376002)(366004)(39850400004)(396003)(39380400002)(199004)(189003)(478600001)(6496006)(52116002)(107886003)(86362001)(68736007)(316002)(50466002)(53936002)(72206003)(58126008)(16586007)(16526019)(66066001)(47776003)(2361001)(186003)(26005)(59450400001)(386003)(2906002)(25786009)(33656002)(6916009)(106356001)(2351001)(1076002)(23726003)(6116002)(3846002)(4326008)(305945005)(76506005)(7736002)(97736004)(6486002)(5660300001)(105586002)(8676002)(81166006)(8936002)(81156014)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB4218; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4218; 23:rwTGSN9RcoVSgS/XasVnfjfyQb+b1jPx+JZxf3xsee3cVek7F44NYMOsEKVnnnsN2pYTtrJHXsewT66l6E/dtSsq/lADlR/lxiIFnWbHwyL1Fa7E00YqQThJ518qx6oS2CgBQmI8Wx28grvpWUXjQjt2xPU9nsQ1vOrEwbj9QcyP0Fjr8qoxQJZUAyW+xG7q9YZKnoEmPmSHEGIBPZ0QJTPUt8rXe94EUNRLwqdA1YtkB53VyWszN0nFRVE9KljgqhXPSzR+WBacaw0YdBZqeaTZP6WKDQj/wXE17aVjlW/JHw10pkagVDu7JRwkatP9Srq/AzZ7FuulVmy6crYbMSeblFAFNuK0dJBHkUGcuFLGX4K9E1t+Wt5FcKH0Bug6gBpMXONWEd8i5KEMHsrWKJMiv5ey/Hg7NwRqQlWw2udCCxy8RBEWv84T60gFMuzoLkHjHhOAgATRkL8YcRNzEa2BUcWWnSEO0Uo/mp9iEZ81HKp5HR+7Z6MVsf8PR4KkfARpJzX7FEupML1Pw9C7Gkxff4Ga7EkrEFyfit9FW2B9KCXcr/QSl6pSBd2TcD6KFS6QtqPF/8+xdgvW4z/rluB3lCKO/Rdw/OpngIaCjoZ0uTsDTuXDaMIovaA1XShrPSLuskT3mDljIhLOrJ5XNQPBNwGp7cTskWQQQ5K0qukLZzsj4U3jkzawOl9UqFX0D3/gukEghWfpvi+pTlRcBjtz9iD1nAmxhAQHMI10EieHu4rcjpDX8NeaqoKikF1w2bi5SGk/pewJsTFanfYzZYGrApXSlFKNEnOBYARm/eV52biWMW0Rq5McJ97HfLYigjkHfe1oQV7WQEYKMLKjSPcbWoPPzgEdi3yBQJCGTCZ9BqDtXg6Q0DCnSofGBpMHbvd5pWD8iYKfGcGchp9t+Vs4eOq9ELPp5nV9jvVZOyC7JY2x1Q9dlLD0A8k9Qs3kz3UpZ7+IouSGLnnNlRb1e0cdB9swaJTfPxgLSZ4f3bvngq1wFrKrq+K5LVOkev3+xTOcAzmk+9oNlOFFgFxi8Xyhm3IOIMPXBPw41bTkxbxV327RfrBYt98NwHnzcvHpTjJ4/hLthm3S+rxzTScDI3/UqKDSq6ep6URHUUDoJ6TOcwIZYrtfd/gLiMnBStoJFNpcZKgO8pAVBkq0xZv8oNcaHUAYzYvsMJEQ5kkIBVc= X-Microsoft-Antispam-Message-Info: OsDH0xcnvYHnmbffcUqDfEJ5C5F95XDIy07MP+3qy56VVmGzr+ZsY+zb55y3uX0k/wJ0MNb0TCm+etCUsvHKkg9go/Mb0xrQHjBpWhi6gTH1nB+cSaAiHprulVLwRMoG8HCvbNzoB7n1Mz7fHL6AfG32PopJj/dcymcRXGn7WjA4XD/BizA7CKSySMlhYj+Q X-Microsoft-Exchange-Diagnostics: 1; DM6PR07MB4218; 6:tfP+xdBwWJ99DbJ+Z/y3hkWmbFcXSgOU48xcWCqCHLqc19AkxggxAmYbUCNGy7mqKG6ozx2BH5XBcrSY1cjhqzsOGalZxF0/v0RaWY1uLs9Zs4U6zbVMLnV6e0c3RmeUTMWE0BZWSHiesDXfWsgYL2xHe6ahnxkCafvIH4S2fXHyoBL3BqV1dnDHmVg5ikp1TQGQ/dDEjbJI2UKcnBRqqEM2nuXGJx7DlL/Wxq5ufDGsaNx8ngGIW6ezRswjf6Jx0QLgu4e9Uzj+xK5Wr5/D5qbppKH+O6M8Kb18jw+tTceIrdEYKr05e+RwmmLa3nb+ololxsbqnTNeG1fBwUJvCEWbl2UxYdZ0nQbstKrvhvA=; 5:RpRFGR4drUVj7qGkW6MyYVYXEfPjKS4zQvZP09ococyIDfefFIDmBWPaYkmdjJfYLAReoiTv2tdgUJc41Un4MQZ9lrT7D1bE2OisMfJh+lehX1UaGQSA8DnyfMUv+tTYJOtf+7we3GzVUoU+jB1p80W7RGpRaQAOewck1C02Mb0=; 24:srPgljZqJwxJTKoATzhRdkY9ZZ9GcX+jiP7O505O/m3PvuVvXmyqrY+34ISvLRRNniiJVfNBt04PiiWqwE9ROTo8b0SQ/MmWAQC3uvoFY7w=; 7:XjA5DmNOIEhnXBnq1VDDxjVIpsuGJqvm+FIyp7bQvZKM7DM44Ay9WY80CMxnwOQ+ml+3jhOr9YjaqSOhM+sP//2x/t34X/IaOI4CB4gUub+uv4Yw3eCioCmgiwK1f4k+RjrSwEaIZquumppyPHp02qeo4aD7u6AWo93L95zHQowW9s1MuIKZa046TQUJuPGMP44zPCr5tMlptvnTq28POei5A6gTQFmJ4T3vQxzHsW66+zm8HWx6r4MJu8XE7EDA SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2018 06:23:34.8643 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2114c67d-31c6-4578-72a7-08d584bd1f37 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB4218 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Prasad Kanneganti Avoid doing useless work by making sure that the response_list is not empty before scheduling work to process it. Signed-off-by: Prasad Kanneganti Signed-off-by: Felix Manlunas --- drivers/net/ethernet/cavium/liquidio/request_manager.c | 5 +++++ drivers/net/ethernet/cavium/liquidio/response_manager.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/cavium/liquidio/request_manager.c b/drivers/net/ethernet/cavium/liquidio/request_manager.c index e07d209..2766af0 100644 --- a/drivers/net/ethernet/cavium/liquidio/request_manager.c +++ b/drivers/net/ethernet/cavium/liquidio/request_manager.c @@ -366,6 +366,7 @@ int lio_process_iq_request_list(struct octeon_device *oct, struct octeon_instr_queue *iq, u32 napi_budget) { + struct cavium_wq *cwq = &oct->dma_comp_wq; int reqtype; void *buf; u32 old = iq->flush_index; @@ -450,6 +451,10 @@ lio_process_iq_request_list(struct octeon_device *oct, bytes_compl); iq->flush_index = old; + if (atomic_read(&oct->response_list + [OCTEON_ORDERED_SC_LIST].pending_req_count)) + queue_delayed_work(cwq->wq, &cwq->wk.work, msecs_to_jiffies(1)); + return inst_count; } diff --git a/drivers/net/ethernet/cavium/liquidio/response_manager.c b/drivers/net/ethernet/cavium/liquidio/response_manager.c index 3d691c6..fe5b537 100644 --- a/drivers/net/ethernet/cavium/liquidio/response_manager.c +++ b/drivers/net/ethernet/cavium/liquidio/response_manager.c @@ -49,7 +49,6 @@ int octeon_setup_response_list(struct octeon_device *oct) INIT_DELAYED_WORK(&cwq->wk.work, oct_poll_req_completion); cwq->wk.ctxptr = oct; oct->cmd_resp_state = OCT_DRV_ONLINE; - queue_delayed_work(cwq->wq, &cwq->wk.work, msecs_to_jiffies(50)); return ret; } @@ -164,5 +163,8 @@ static void oct_poll_req_completion(struct work_struct *work) struct cavium_wq *cwq = &oct->dma_comp_wq; lio_process_ordered_list(oct, 0); - queue_delayed_work(cwq->wq, &cwq->wk.work, msecs_to_jiffies(50)); + + if (atomic_read(&oct->response_list + [OCTEON_ORDERED_SC_LIST].pending_req_count)) + queue_delayed_work(cwq->wq, &cwq->wk.work, msecs_to_jiffies(1)); }