From patchwork Fri Mar 16 17:58:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chopra, Manish" X-Patchwork-Id: 887071 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="c75ylB7f"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 402tW40TGbz9sPx for ; Sat, 17 Mar 2018 04:58:56 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752936AbeCPR6x (ORCPT ); Fri, 16 Mar 2018 13:58:53 -0400 Received: from mail-by2nam01on0049.outbound.protection.outlook.com ([104.47.34.49]:51120 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751524AbeCPR6v (ORCPT ); Fri, 16 Mar 2018 13:58:51 -0400 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=NnPCg8SafUqiR3K/6gm41nBuOaC36GT1lOXM/TRWT9o=; b=c75ylB7f1Zdc4MBnQnm1hz/Ls/ahAxKEYKB/i1JuB6SlS8gJlI+BDN+P0J58Dc5LfUqUHB0t4GBqJho3nGQd88M76U3nnk4tq82RZg3ZYk3M0mwmXmsH3GIGfa2bOAg1gkGWRI/hZxyhNQpExC+0AQR51iYU4XBsR+PoW/fFHGk= Received: from BYAPR07CA0033.namprd07.prod.outlook.com (2603:10b6:a02:bc::46) by BYAPR07MB4295.namprd07.prod.outlook.com (2603:10b6:a02:bf::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.588.14; Fri, 16 Mar 2018 17:58:49 +0000 Received: from BN1AFFO11FD016.protection.gbl (2a01:111:f400:7c10::106) by BYAPR07CA0033.outlook.office365.com (2603:10b6:a02:bc::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.588.14 via Frontend Transport; Fri, 16 Mar 2018 17:58:49 +0000 Authentication-Results: spf=fail (sender IP is 50.232.66.26) smtp.mailfrom=cavium.com; vger.kernel.org; dkim=none (message not signed) header.d=none; vger.kernel.org; dmarc=none action=none header.from=cavium.com; Received-SPF: Fail (protection.outlook.com: domain of cavium.com does not designate 50.232.66.26 as permitted sender) receiver=protection.outlook.com; client-ip=50.232.66.26; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by BN1AFFO11FD016.mail.protection.outlook.com (10.58.52.76) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.527.18 via Frontend Transport; Fri, 16 Mar 2018 17:58:49 +0000 Received: from dut1171.mv.qlogic.com (172.29.51.171) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.347.0; Fri, 16 Mar 2018 10:58:47 -0700 Received: from dut1171.mv.qlogic.com (localhost [127.0.0.1]) by dut1171.mv.qlogic.com (8.14.7/8.14.7) with ESMTP id w2GHwlnA018730; Fri, 16 Mar 2018 10:58:47 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id w2GHwkB3018729; Fri, 16 Mar 2018 10:58:46 -0700 From: Manish Chopra To: CC: , , Subject: [PATCH net 1/1] qede: Fix barrier usage after tx doorbell write. Date: Fri, 16 Mar 2018 10:58:44 -0700 Message-ID: <20180316175844.18693-1-manish.chopra@cavium.com> X-Mailer: git-send-email 2.12.0 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(346002)(376002)(39380400002)(396003)(39860400002)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(87636003)(6916009)(316002)(2351001)(36756003)(5660300001)(478600001)(4326008)(51416003)(106466001)(107886003)(85426001)(305945005)(48376002)(186003)(86362001)(8936002)(8676002)(50226002)(356003)(2906002)(81166006)(81156014)(26005)(69596002)(105606002)(1076002)(47776003)(50466002)(42186006)(16586007)(336012)(54906003)(59450400001)(72206003)(80596001); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR07MB4295; H:CAEXCH02.caveonetworks.com; FPR:; SPF:Fail; PTR:50-232-66-26-static.hfc.comcastbusiness.net; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD016; 1:TYDjQf73B+/EfegzpKLKXpux3FV+0lpNDi2IRYVSiTE7THsegEcKnfnI+vrUHVcz5DRG8Jz+4Oc/CxaSA4Et0VjarMnb1kx/PV4h50/g3Kxc9MjzyBRWffUf6Naisebk X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d57fd5a4-3fbc-43ce-9934-08d58b679254 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060); SRVR:BYAPR07MB4295; X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4295; 3:nBx9QhHWLoOzbW+nLvE80786nRk1dWcLfAdcJHFloX2/IbWo2OH9sS2g/uAysX/Q5CKsM0B4HLmmoEHdFTG8O4BwhP0p8njClqldv3fFqiBJf8Dj+mFZiyZNDWpvQmwvisRT+N75oRcLaCr5nh5nMDs2If4eubpZxT0rrwFhd+eu5s8uLyXeFu+Uh0IwpQoI4iLw2dzwI4UmHhyERbi6l0jwd/CKuyVJMqXnvDCZDFJH9hSLWgJ30CLRKkWZQ+ehqayVQ51vervMCeF1WKJOoNM22N59Le5vjGiMJroFLEiC1xIzYE4shNh7AYIT6us3TmUT+H2lnU5Pjn5mzY0usOLt60QOAii65J8XackRP34=; 25:P7XhMtiIxpzu5BYrALIgXHnwxuh5erd+zn5VmeSrLLqDsWi3RUjiBy2E5FMsdK+JMkM2I07S97uc/NDdGsO8rsl76WDFrs3AHkVetNC4IhNwtJ0Z+/+ileqAYglhvW6RyX2JWpb6pNDWhULCIBCAGSPcKQ97Ao30WKI+uk81ZyFz9yx/5cLD1+juhqpR4WidLa+0qiFq3nLKovkFHZwK/3xQO+pM/Gmn3HTXyueNGQNQx2B/HWbAdPX/9i431N/T+0nO6NLN0OW/z655USJqiaqrxxRga3Fhyt1DWceB8eto8zxDcDhDrGkXC67zjKmiEreUxlORhomqbUbASnyN8g== X-MS-TrafficTypeDiagnostic: BYAPR07MB4295: X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4295; 31:cbAPlLsWJvV/Fyiz3gOGrk8nxiJiJKkPSMgohJmIn+1wOMwmEfKcEw5Z0190hgBV8KmvzxrjSyQd4wjKaqcl51jnAnxdAmnE1O78fBdz4/MMr51t59vz9V/0rGEJnXx5d8e9VpnA51nMIiee5YXRP6jKgpVb8Mg4S0XDApuUGlgCSyGzebE3b2Hw9zGP6iZlPBbw/BkYeOcx776cQvtd59YTeN6h+j9c97bUIBDpxPs=; 20:ILL1nw9Xngaq1hmyjjijoTjfC9P5BJNc3OL4nPwKBWSz7n5NdQqCiYqYh79u/S3Iktra4Tw1ua6I66mwNWfRg/dB0R/2W7DHHlJTTjRpcTyrXQ8bLkX7zTErlLI7o/5hONRf9AfHCT6cbvUXbSkNugRl1NIBeAm0minoiv7W1enH8lBw5rwTZnPLqKObCNv7Au3pggYJKvqpVtXIVy+wC4t0R58nRIf4aRFT4hDd0RxlPOZk2y/7nJrnBmC2akz/q/O/5tPEyqqJC5KgyDT9Zbg3cqeNR0xFAmwHOTRI2ri9TVIdZyOXCDED0DDkrXBtIvjbESmMi8i5YGR12ysXvV3TirS/pNTmbUoJ+ptoCHhjOh1IBwnRYYwGjyImjfr0DBMxgoFd5sOdxf5MEA5520SJj70AzCXYga+CEvR3H8kWrk6F0if0s5Ds8olYwzzflrkWL3vPufyH34KO4LiIhXNiPQX97EcpyU5+ginkMUE6++A0xe9GyuDQ6opSEUSc X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231221)(944501244)(52105095)(3002001)(10201501046)(6041310)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:BYAPR07MB4295; BCL:0; PCL:0; RULEID:; SRVR:BYAPR07MB4295; X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4295; 4:/ghGs1v/6v9b8LsIDuZkSQ3WqS/hZA+H0anpEyNzcTBbuRkZszCiX8gT7OYMCRwWJWAoO8zHVKRw7X8Y+x1m0yJQW8YNS3CFndgefYw9YkWAxVPhESLBNTV3T8P4626HII6NteYJFTc9xNnT16e5V7VQ0Hf3mfplUO1J05UtNXbpuCyyH6L5bkgNuqZu209IESWwRP9Ok7radPyuy+4eO8Fr8YL4oAXnNrhYwtONOYitywMBlkcBWLXWfBH9YaoROpQHdIHumPohMLI4iUhG3Q== X-Forefront-PRVS: 0613912E23 X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4295; 23:C+dUyDlbH5G70zCuBfzfwzd+lVGHLw5XTXcrrspu8pDiEfqJQXQRESEY2KtSFgH2tHkPL8QgfcNdUWAEHuulwT5nRhdoc7wvpm3FbGuG5E393ikx9N0Huex7x/Cvu2TLuuLxGbs7SBkqZk6KWfo5QKlUutDwG+7ycImeYO3GRgMfSLoK3dz4yYYCdXmi5mkPCAiawfytO+ETkD6Po92Fdn4htjhDGGxdEumMTR6nKonCJtF39J3TBetVfqI+lofwcy2UnHjCZ+U2LAArfeZTguxmCUA7aFOZnIpRgKyCGgDpf0eB53M/qrs/mqBC1nhv92vAIvPbf/+VpEHuGnKAi1C/p7Sngs4RSdvhSN4Rb2ikpvx9g6Bc5VlYXvA57SAGzzwyz3WvPaFcquicHolV753Rjis+WEwnDGp8BKMA4/zzxJezWjr13hJTO1rqGQMEc22fBjOBqLYwa3mzulbKsHUgq06bbxvSFuFXClG+KuwMmQmK0f/ebOTrveS87driFJ0rs1ySqshzQK2i3LH73+VwWAcMAOgk8+vO7cLnCOM/dzpsosCJK0p1LFq+5CJTL04agdtwts3aiyrgOqVQ6JMKp0lLWcLVEXpqElPGWJl+pxPm/DTWJXkFsMBmpovN06JwVQUThcq9d8IicI3ghNE/Rpk8YhD5XBfq79MsaPnBJ83VO0cdh/f2JCKFDSYz/WnahAWzg2RJKb28brMC6lqp7W6pqe1t2BbWHYA5Ik07izj4hsdy2BdGU8mu6T1CixPYycLTNA5fbCKDSoSHOH0wkH3V9h/DRhEvOmOw5jm5DGsryss6Dln11UAH3kgGVFdE95cQ2lJoKorWMUl16C2SS7HxHWxCYY1mOSYVuqBtKbS9LaTSw2JdZyN4ZrHNZCWh3DE6nykX1gJYjo7ZkXAOi46VOONyVOX9XOOlF0hFd3Xkcr5eB3D2E000cFzVl2ijfLDO2vRMDYZuzlk2THeTnGij6I/x68Ib+NukEqOxTDsTXiSJvTXxeNgq0bjOKnb/H6JptZy/2HOo0kjGUz7UfVDIMi1gwZ1kTyARvB7/WYIDxIM3aSesFIontD+HHwXQFUTPvncurlBTLp8H6Q== X-Microsoft-Antispam-Message-Info: 4b3geNEKHrvxjyBSWPeMkhoDNUIl2PXQpMvWtvRWeMDWkL6CflssqPFVFIbjqilM7PHIxUWD/oP/8Po8MTp4W1999v+v12t8TQAyYGerwzfxFB4zn2JddkCdcMpdGYIFSCmLSg0ZPdMxwWopVM8f6Oe4hCRhuqusud+9suvzP/RAdoCLZVF4FnyN296q9+Ue X-Microsoft-Exchange-Diagnostics: 1; BYAPR07MB4295; 6:cYGZwOU79l9yeGFaI3wKVU6qCPiOlqHIBX4Mnty4PCGo3xpqU+2JA6EFZ4jCtlcwFl/8l/bgH/7vPgTebDQ/Yvet62BhzanG0wBtORodc1XA7YjleT01zo35AHTi7Cyx+EX06/pNI1t2z6sO6yENP0uadRYKjit+jJ5ASJyhb7Cjr4M/D5I/fK0Q0+NOFDy+1TfLWlypipp8FeXqTEHTZAqOCC9jJvmgzpmNowwlC5UnUh7+UEXRDtmHHG8+h56BfE7kccUZa9ISHdDNK8atNpRDkhlpslKw6rx4xPDFp5KmLN6SAqjlwnMis8Ox2XgeqBo+gxF9kGB2vzszVuUteLULkxjAQlFz5q4hlGikXu4=; 5:zq2Fxs6ItFuV/rlW1TyiQ7Z5gsP08sIzJrBcmLUZvTca6LGKDI3mDPHsO8u+xXJLljdjVpAePPIUYI8vo+3uaws8eYs2O6yQMmfgALgglYW552d4gnW8PdDxfuNwT5RgPK63GRq5Jaetykif8ImmrZQJGY5j8ctKhxGJJDkR6Ho=; 24:H4QPWWwl0nauGtpjSf5h9pAEP9DCUtaSVDOhyAWTGBVOK25AsEUUh8Q//OxzZxDWS2nSyHlgDfNBMs/+epQrToNR8ay8mzMjOcgnZqrOsA0=; 7:C5DrLgxH9N3GQhH1Fc9HnTNGPXQU3NE63JXOrEQDzZ1pEAjYkkENhGkHBJ+W3AVOpOmbZQLEWYy87r6V5mzPXKmOBzPz/MFyqCaVrXJAeU4FV9ue8MWrELiJUlXxvVwgRApNtPeY6czJxC7mbEO1Wb0QK7mufQLFhcePmGIVgpKrx1LMJXBaWjU5UiwBKKWJx2w2jwWR2SRdSUi4zSz1R/kjjluV+wuHQvWoDCRzPR3Kp4UuRFYWuQSaYLJ9Kx9A SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2018 17:58:49.2115 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d57fd5a4-3fbc-43ce-9934-08d58b679254 X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194; Ip=[50.232.66.26]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR07MB4295 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since commit c5ad119fb6c09b0297446be05bd66602fa564758 ("net: sched: pfifo_fast use skb_array") driver is exposed to an issue where it is hitting NULL skbs while handling TX completions. Driver uses mmiowb() to flush the writes to the doorbell bar which is a write-combined bar, however on x86 mmiowb() does not flush the write combined buffer. This patch fixes this problem by replacing mmiowb() with wmb() after the write combined doorbell write so that writes are flushed and synchronized from more than one processor. Signed-off-by: Ariel Elior Signed-off-by: Manish Chopra --- drivers/net/ethernet/qlogic/qede/qede_fp.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qede/qede_fp.c b/drivers/net/ethernet/qlogic/qede/qede_fp.c index dafc079..2e921ca 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_fp.c +++ b/drivers/net/ethernet/qlogic/qede/qede_fp.c @@ -320,13 +320,11 @@ static inline void qede_update_tx_producer(struct qede_tx_queue *txq) barrier(); writel(txq->tx_db.raw, txq->doorbell_addr); - /* mmiowb is needed to synchronize doorbell writes from more than one - * processor. It guarantees that the write arrives to the device before - * the queue lock is released and another start_xmit is called (possibly - * on another CPU). Without this barrier, the next doorbell can bypass - * this doorbell. This is applicable to IA64/Altix systems. + /* Fence required to flush the write combined buffer, since another + * CPU may write to the same doorbell address and data may be lost + * due to relaxed order nature of write combined bar. */ - mmiowb(); + wmb(); } static int qede_xdp_xmit(struct qede_dev *edev, struct qede_fastpath *fp,