Received: by 10.213.65.68 with SMTP id h4csp623734imn; Fri, 23 Mar 2018 11:54:36 -0700 (PDT) X-Google-Smtp-Source: AG47ELvC84THM0wLdsDMFEYccvXmd/75oMyabZS8+9ObTtEFCDawkman6/KGaV+CY+iS7cZGncbn X-Received: by 2002:a17:902:ab85:: with SMTP id f5-v6mr26541609plr.380.1521831276316; Fri, 23 Mar 2018 11:54:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521831276; cv=none; d=google.com; s=arc-20160816; b=e0SCmhyXPJ/P2oV26VU0INdPU677g0yS0PI/ZWSRFx6RiT7cnqQnCtdOxWSli1UM9H yQ02k32vCKsJDaUlofLEXTH+nOHWy4BK0MYw0farQ7MVgCJYMEXkXnO3l2uL2oE4WFEH 1Qt0976YEaZ/ihhTmb1IpMtc5oCOkHshVfIRpw/UUo6j1yVDK1Gn68lxpRRns674j83P S3Qe7cufORyikXxSxZRimRklX41NxHrcX7y93HXbeL3ang1ubc/3NbUZy25Rm1achP55 ol6tqKk/oAQLwdpjixVLIqACb2yG5isDgZE86nKKHVzoHnV28WR7PxYiKVZOFj6saDLH Vuqw== 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=20XlWfk4NjysSin+QMMkG99VsvlKBtPND0i7VcGUmHk=; b=egnhbYH5l8Y0iFNIxhxZmDsHEtoHOnw0WZCwBtctLyWx3AT0OCLAluirrjU9wsqQU/ nr/QgWM4juVHS+GdT7Iuj3W06dkrnclscbbgvC0SA3bX/TIdXbU6yRVKPx8uh5HlotiM 9AFuwKhkBSyBVsHuMQz7koV2WmlLTsJpEjbGtAHlihPVlSa6KE2n6gUOiTlPP7bESXDR axzvIvwSLOzx0DJV6aTXrJ/jPQ9070ravns2KLAr7XZCKbcdkxxx4rTNwscdC4DBR37Z wMsyTc2bfBoK8VEWOZZAFPKZD/Lhz2/tG5cfv2KuLsxDtX3cB1biKcKeDQpqag6nuuza 3Ebg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=LvuF0ck0; dkim=pass header.i=@codeaurora.org header.s=default header.b=j0W0G0hp; 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 i11si6352937pgq.332.2018.03.23.11.54.20; Fri, 23 Mar 2018 11:54:36 -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=LvuF0ck0; dkim=pass header.i=@codeaurora.org header.s=default header.b=j0W0G0hp; 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 S1752275AbeCWSxR (ORCPT + 99 others); Fri, 23 Mar 2018 14:53:17 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:46522 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752180AbeCWSxN (ORCPT ); Fri, 23 Mar 2018 14:53:13 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 09D2D60C67; Fri, 23 Mar 2018 18:53:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1521831193; bh=WJStVcJks8p7B/WOhvD2VsqofnoOONsyrTwt5Cl2tXk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LvuF0ck0b1GYRKsNhAfLrJ06e/Dxayd7ZHVUF46M8AfN9Q7COxs3GWW3LL5gd8rgS mgXP6DNG5UDUZgRJ2WQCX+RuOP5/uzNPaZKBVw4YNNgPceA44bL1EIWUZsqj6VyrEs 1QeAdgsQXWTMy0mQgC7XWgUB6oEpuJj46f/lV7Fo= 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 D2BDD60F90; Fri, 23 Mar 2018 18:53:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1521831191; bh=WJStVcJks8p7B/WOhvD2VsqofnoOONsyrTwt5Cl2tXk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=j0W0G0hpJ5sYC5+8AoNTq+T2WgPT0qzQ/raOhmXnS0isVNf1sxT/EwBFanLjeKqQG IB1MZxuA34cPjHlceG/MI4uAhPwI+M+4bTUzDhEJv6qjnTZJ/xBBRjbvwMpCtGM02M uEZANaxE+kuqWunoca38JYZDpKgxvUqwOXFZxGOs= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org D2BDD60F90 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 v7 5/7] fm10k: Eliminate duplicate barriers on weakly-ordered archs Date: Fri, 23 Mar 2018 14:52:58 -0400 Message-Id: <1521831180-25014-6-git-send-email-okaya@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1521831180-25014-1-git-send-email-okaya@codeaurora.org> References: <1521831180-25014-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 --- drivers/net/ethernet/intel/fm10k/fm10k_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c b/drivers/net/ethernet/intel/fm10k/fm10k_main.c index 409554d..bb94f04 100644 --- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c +++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c @@ -180,7 +180,7 @@ void fm10k_alloc_rx_buffers(struct fm10k_ring *rx_ring, u16 cleaned_count) wmb(); /* notify hardware of new descriptors */ - writel(i, rx_ring->tail); + writel_relaxed(i, rx_ring->tail); } } @@ -1055,7 +1055,7 @@ static void fm10k_tx_map(struct fm10k_ring *tx_ring, /* notify HW of packet */ 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 -- 2.7.4