Received: by 10.213.65.68 with SMTP id h4csp1357356imn; Wed, 14 Mar 2018 18:43:03 -0700 (PDT) X-Google-Smtp-Source: AG47ELs3Ux1NjvAjiahW2demXrnmZN+AyYObSysknBTmfb1dP56JvF9yzpZCcgpbc6+NAb16VSvV X-Received: by 2002:a17:902:1763:: with SMTP id i90-v6mr5932974pli.309.1521078183800; Wed, 14 Mar 2018 18:43:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521078183; cv=none; d=google.com; s=arc-20160816; b=VZqQ6uMcQ8WiihlTB8FkdJk4dvR4L8/yNwmeMY09SeOyrwU6ofg/PgaVKlcyv0QBBO ftooOwGiPkpk2X2IaBOt136GxeA8JoY7iswH7OqMppOhOcFuUN/7XeBDbu/22AQ8ywcd eJIZvj/9nT9Z2SO93XKLj3GWKLpEEeG37Ud29ZsYGp4PTefZohzTawUDZUT/2M4Q8jTP Jj9YQsE7kGyFRps4TwnROe+Gza8EA8hBK3TD3FBbiFK5npcdLg6zDF0ec1W1/FKvsr0+ K608917jxnvjt2jSDx+FRwlfPZyThL2poONodzMbKVV0HI/RWQJ0DxhJGMa5/Yn7/1Gg iQ5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=iZ/nfYyxxhyUqqSdMaqrt3/TLK7XHBycJl2YkkWud4o=; b=CpqEOPIWqhH3Easel/vZVHEATRi/Wg2GqegMVAScB/Jrb97Vg/AAmfV7V4POMIp6fB DJngFX9vN/cy0b6NKvzp4WS1GqY7PfGHf2zCjct1ytjFqvWzPEoW+uMLbqzRohQqlS4c Ch5zCbVMdr1r2kcvOoq5zHDzm6+ycV6bpcOYvlTw360g7I2YAqdCWo6O/wSYMq97ZQzU 0pNYLWc2dhr06tw56toqpRi0AYvtVATOyuVhapsEMd8PSu6B43SEph5SPCZhNMQDKySE i/3Em0+7LFiCIOkeepTzb2Rj8PyC3SkMhhwbrgFpO701/hlUcExEKEfyHRCbUkbAtEH4 ITpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=uL8uqwDP; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u2-v6si2928276plm.476.2018.03.14.18.42.49; Wed, 14 Mar 2018 18:43:03 -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=@gmail.com header.s=20161025 header.b=uL8uqwDP; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751537AbeCOBlz (ORCPT + 99 others); Wed, 14 Mar 2018 21:41:55 -0400 Received: from mail-qt0-f194.google.com ([209.85.216.194]:34682 "EHLO mail-qt0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751289AbeCOBlx (ORCPT ); Wed, 14 Mar 2018 21:41:53 -0400 Received: by mail-qt0-f194.google.com with SMTP id l25so5669116qtj.1; Wed, 14 Mar 2018 18:41:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=iZ/nfYyxxhyUqqSdMaqrt3/TLK7XHBycJl2YkkWud4o=; b=uL8uqwDP+ZRfhjVIScms/cYzuMEz+wfKPIL4DRbK6edqzD6fcCWPOejxwF8GNTf/ms i68Jejenl61HkLEt3x9QFL6fjAwmMDx7WWnuRbV7V5tK6WppgSuQh72MN8BipFYkIgT2 86lme8nRCwrHLmLhFohx7Y5vMbM+TihTs/w5+NBV6llz7tHQ+XwBTBgtvA8x8V+a8ne3 Q9541CVHMk/trYo2YKdUMVB4dnHVW/MhPQAjcP0r1mFk1+QZqzgaBJ2PfoT9Q8ulV9GF UzB/hTP2j3tCSO09hcg/TY0ye0rXxthVN+q5ITX7R1jjxNFtBSDbgizve2a0avK7seBv mY3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=iZ/nfYyxxhyUqqSdMaqrt3/TLK7XHBycJl2YkkWud4o=; b=epVE8sIUI2OvMcNgL32yT2mmNiIzEr1UthqjZCJaUJg2+IPT0ZrXLhS/qyTFQXyp6W yO2PbqPaaeM9+thGdvihRZ2BpDMH8hkNiA6GgKEYv4cGFDFVTyTk4XnrRWiFULYjhGjt 3GUQQHIyhaajRZ+LCD8IBq0Go4OA7Q3m2yN3sZ0Ko1VxNExMcZIt6khNwaA0PBAXfo3y gbLfeMFCCuuxLIhNYadnV7NFw+vOE4YE1cMGUFZjgiOtR8vlIrWXvrPLxy3vOASaCs1y sWEGkqlWBYM6xQrqw1nnl7MWkmBG457/EJ1a4X1wyngaXLznCncWivyU9UrTshqYMQZV 5EQQ== X-Gm-Message-State: AElRT7HR4v4Zd6NlK6K7oSaQVYPUCrMKQsCeFODJaZD9MsMzj1YT3qHG SwHpgodMX2bg62e0KODjhn22FyvrNNzwd1sYSylWFOap X-Received: by 10.200.1.83 with SMTP id f19mr10456269qtg.177.1521078112220; Wed, 14 Mar 2018 18:41:52 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.89.138 with HTTP; Wed, 14 Mar 2018 18:41:51 -0700 (PDT) In-Reply-To: <1520997629-17361-6-git-send-email-okaya@codeaurora.org> References: <1520997629-17361-1-git-send-email-okaya@codeaurora.org> <1520997629-17361-6-git-send-email-okaya@codeaurora.org> From: Alexander Duyck Date: Wed, 14 Mar 2018 18:41:51 -0700 Message-ID: Subject: Re: [PATCH 6/7] e1000: eliminate duplicate barriers on weakly-ordered archs To: Sinan Kaya Cc: Netdev , Timur Tabi , sulrich@codeaurora.org, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Jeff Kirsher , intel-wired-lan , LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 13, 2018 at 8:20 PM, Sinan Kaya wrote: > 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/e1000/e1000_main.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c > index 3dd4aeb..e0e583a 100644 > --- a/drivers/net/ethernet/intel/e1000/e1000_main.c > +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c > @@ -4573,7 +4573,7 @@ e1000_alloc_jumbo_rx_buffers(struct e1000_adapter *adapter, > * such as IA-64). > */ > wmb(); > - writel(i, adapter->hw.hw_addr + rx_ring->rdt); > + writel_relaxed(i, adapter->hw.hw_addr + rx_ring->rdt); > } > } > > @@ -4688,7 +4688,7 @@ static void e1000_alloc_rx_buffers(struct e1000_adapter *adapter, > * such as IA-64). > */ > wmb(); > - writel(i, hw->hw_addr + rx_ring->rdt); > + writel_relaxed(i, hw->hw_addr + rx_ring->rdt); > } > } > So you missed the writel in e1000_xmit_frame. You should probably get that one too while you are doing these updates. The wmb() is in e1000_tx_queue().