From patchwork Thu Mar 22 15:42:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sinan Kaya X-Patchwork-Id: 10301791 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9E024600F6 for ; Thu, 22 Mar 2018 15:43:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 81E75286AD for ; Thu, 22 Mar 2018 15:43:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7673128686; Thu, 22 Mar 2018 15:43:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 03B8A28658 for ; Thu, 22 Mar 2018 15:42:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WcqHomRWuuieLy37nEQtlF3C/EoLKQPfVs0HCwB0FsE=; b=l6XOWPWqbcjqg2 RCN2uD3D+st1y7Uhg4fZDLaPUClXwh+hdNiXgLgs8hTUXebEuHosJgSym7U2RQ6IqBvHrnRiJ3+8n NK9LavB9tRGt5KN7QnDcukpWH8sqDrnRIIaYyQ8ErzwiXfI1oMiRaznVskEjJpHhq1G5h4w0P48fE 53AR2QEGdrq/KZ8AcakiF66cUCxexCSJVQaY2nrRe2Q5xIgXsSQKI0d2AkAVlU2xJI6V/8tldKXXa YLUdESiOcWe8dQcAkVMBHZpNqdteDMGq2sNIRMrL6JmtzOrTLVnQ42XnJgwu6WW1kEyvwaJGhPXrA 6nHcLfJK4JKGE8gVp+pg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1ez2Mi-00070U-Mm; Thu, 22 Mar 2018 15:42:56 +0000 Received: from smtp.codeaurora.org ([198.145.29.96]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1ez2Me-0006yZ-C2 for linux-arm-kernel@lists.infradead.org; Thu, 22 Mar 2018 15:42:54 +0000 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 147BC60F6D; Thu, 22 Mar 2018 15:42:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1521733363; bh=u8AAbfPQjO1UTGTZ8UZiPxQv2vcJtoswyj6r+jScNw8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oVHXRThYQN9dnuIIBDfSPTd+R63+/z8AbifQij4ztmuWu7OLi9M+ML8IvZUayxifY rZiTPUb3UhhVU0toj5ubwJHNjczeJSFeZVuW+K6ZoizS5QMnIUv1lS3nVDAHUCQJ0L NqSJave8yTpcsBc3372olof1jlchx+OXTvOD/X70= Received: from drakthul.qualcomm.com (global_nat1_iad_fw.qualcomm.com [129.46.232.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: okaya@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id D8BBC60F6B; Thu, 22 Mar 2018 15:42:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1521733362; bh=u8AAbfPQjO1UTGTZ8UZiPxQv2vcJtoswyj6r+jScNw8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EU/htE5zpyuyFSE8ZoZm30HsO2ZAWouHTZVmbnOG5065eX3UTRWZoeD3eEYEAfVEj 2slonKX2UdQacVuG7naSeuDsm2M8RNRTH82MOOgZvVAP3TDdZxhMPf7mdOLLLbjlyA ZUgwPXFLlM/LzcJGeR8yKMUNfk/WAMKJx2UGWQ5w= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org D8BBC60F6B Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=okaya@codeaurora.org From: Sinan Kaya To: jeffrey.t.kirsher@intel.com Subject: [PATCH v5 2/2] ixgbevf: eliminate duplicate barriers on weakly-ordered archs Date: Thu, 22 Mar 2018 11:42:32 -0400 Message-Id: <1521733352-25266-2-git-send-email-okaya@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1521733352-25266-1-git-send-email-okaya@codeaurora.org> References: <1521733352-25266-1-git-send-email-okaya@codeaurora.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180322_084252_487896_6647E076 X-CRM114-Status: GOOD ( 13.55 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: sulrich@codeaurora.org, netdev@vger.kernel.org, timur@codeaurora.org, linux-kernel@vger.kernel.org, Sinan Kaya , intel-wired-lan@lists.osuosl.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Code includes wmb() followed by writel() in multiple places. writel() already has a barrier on some architectures like arm64. This ends up CPU observing two barriers back to back before executing the register write. Since code already has an explicit barrier call, changing writel() to writel_relaxed(). Signed-off-by: Sinan Kaya --- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index 815cb1a..eaa930e 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c @@ -725,7 +725,7 @@ static void ixgbevf_alloc_rx_buffers(struct ixgbevf_ring *rx_ring, * such as IA-64). */ wmb(); - writel(i, rx_ring->tail); + writel_relaxed(i, rx_ring->tail); } } @@ -1232,7 +1232,7 @@ static int ixgbevf_clean_rx_irq(struct ixgbevf_q_vector *q_vector, * know there are new descriptors to fetch. */ wmb(); - writel(xdp_ring->next_to_use, xdp_ring->tail); + writel_relaxed(xdp_ring->next_to_use, xdp_ring->tail); } u64_stats_update_begin(&rx_ring->syncp); @@ -4004,7 +4004,7 @@ static void ixgbevf_tx_map(struct ixgbevf_ring *tx_ring, tx_ring->next_to_use = i; /* notify HW of packet */ - writel(i, tx_ring->tail); + writel_relaxed(i, tx_ring->tail); return; dma_error: