Received: by 10.213.65.68 with SMTP id h4csp45204imn; Wed, 21 Mar 2018 12:00:33 -0700 (PDT) X-Google-Smtp-Source: AG47ELsj5Nfoj/NUhccsafn3Jiac+/BjjQOQLeywd+hu/xPjwjOMoCOxLCEMFE1m+ujJ0aqU5q1d X-Received: by 10.99.95.144 with SMTP id t138mr15338254pgb.94.1521658832996; Wed, 21 Mar 2018 12:00:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521658832; cv=none; d=google.com; s=arc-20160816; b=tLyhzbr4u0QTLYKLsSF3SWGuUgg2xuSHdChTe7MN/BSsBTyC7kM+Wi1A9j7XmtMEaU v3aXurxBhuxW+Oui87WktvCrsk8fMsOUe5QZtbCGca2cAMLRYR7PkEgS7+I+dR9zg3vu K59CIevWGXRo4toQQinIB5oSF+WE6nbqiYx/L6JpkdvtG2FRJv9DHYG855xDk6ZEvRTE R+NpJ4kgZJcN4c8EnxEUWb8oStLt/zxYiWsKREx0pWZWDH6QU5ANNDwEIYTNk7RGisoX AZsG/yiOTjCJFH3qEwGgSBvc4xYjlczXccd1JJw+fwAdmqpF1br5SKpYDGi25ZCNC7nU 7bFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dmarc-filter:dkim-signature:dkim-signature :arc-authentication-results; bh=zbEYjhm2grqIIELnyiF7MX0yUFyJTuQI4B/IbXRgRyI=; b=AWBRpgDJIqzKshqv/RsddW5GZTWnxbCJA5QuNZnNdGoE+e3QR8BtmUTXRa8DIieljK ZcM9sbcLJRY3O9/e4QbgN2iufX2Te81+hL7k/TmQZX7tbPlyuVVEqk/Quicmqz76mrd8 9N1HiYQXdFlmLfeZhXHWcqrnrVNHCCgVqoKIvF4dt6bip3HgFvvpJalZpaMRA7ukZrs2 7eVRcdLb7c0LigWhJv+iMUOm8uRcf7yCKPiDA+T2go1Sw9AQKRxAY/y5DCZs2P7/up9M rrSTWeyzwXsqpSxqEj+e3lCtS2VZYB4wQLBFF4xFdZVuiJ6cClfarhnJ/yRv88F4pXKE tirg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=bNMX1ku5; dkim=pass header.i=@codeaurora.org header.s=default header.b=ENdnE0fC; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v1-v6si133718plb.657.2018.03.21.11.59.59; Wed, 21 Mar 2018 12:00:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=bNMX1ku5; dkim=pass header.i=@codeaurora.org header.s=default header.b=ENdnE0fC; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753258AbeCUS6R (ORCPT + 99 others); Wed, 21 Mar 2018 14:58:17 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:58970 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753008AbeCUS40 (ORCPT ); Wed, 21 Mar 2018 14:56:26 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 0E79F60817; Wed, 21 Mar 2018 18:56:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1521658586; bh=+bI0tm8bhHIDFysh3wegWVamtyhDD/7eP9KsoC1eST4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bNMX1ku5ZaXVlbOvckRNLUK4Jia34vv5PJxBMuZFokPTtEYkEUQ0FdY0h08vtkH2I bJRxmE3lqxqAIKK28bFuf1c79fdT38IjLCwITU+mgy0oH60rH5+b9ZmJF7NoNGuUQo aNXNyAEy5kG0QyODvr945jZNl8DLsY/Uw9b0coac= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 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 487FB60817; Wed, 21 Mar 2018 18:56:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1521658585; bh=+bI0tm8bhHIDFysh3wegWVamtyhDD/7eP9KsoC1eST4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ENdnE0fCmFZFjAkM0ZUZZ8ZoTXek0KCPaVsvOrl3FSBWEV27vaoRgsm6k+fyC7tfU jKZbSIdufKsmHhIXFGFsrc+6BqxteS1vS6ko/VRC013A1m2yzOlXBwL6ifu3Ppi0Gg 7T0nXmc/9Qy2FUoIPUa2uzGukqeZf+Owq0inWnHg= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 487FB60817 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 Cc: netdev@vger.kernel.org, timur@codeaurora.org, sulrich@codeaurora.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Sinan Kaya , intel-wired-lan@lists.osuosl.org, linux-kernel@vger.kernel.org Subject: [PATCH REPOST v4 4/7] igb: eliminate duplicate barriers on weakly-ordered archs Date: Wed, 21 Mar 2018 14:56:08 -0400 Message-Id: <1521658572-26354-5-git-send-email-okaya@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1521658572-26354-1-git-send-email-okaya@codeaurora.org> References: <1521658572-26354-1-git-send-email-okaya@codeaurora.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Code includes wmb() followed by writel(). 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 Reviewed-by: Alexander Duyck --- drivers/net/ethernet/intel/igb/igb_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index b88fae7..82aea92 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -5671,7 +5671,7 @@ static int igb_tx_map(struct igb_ring *tx_ring, igb_maybe_stop_tx(tx_ring, DESC_NEEDED); if (netif_xmit_stopped(txring_txq(tx_ring)) || !skb->xmit_more) { - writel(i, tx_ring->tail); + writel_relaxed(i, tx_ring->tail); /* we need this if more than one processor can write to our tail * at a time, it synchronizes IO on IA64/Altix systems @@ -8072,7 +8072,7 @@ void igb_alloc_rx_buffers(struct igb_ring *rx_ring, u16 cleaned_count) * such as IA-64). */ wmb(); - writel(i, rx_ring->tail); + writel_relaxed(i, rx_ring->tail); } } -- 2.7.4