Received: by 10.213.65.68 with SMTP id h4csp494863imn; Tue, 20 Mar 2018 08:12:20 -0700 (PDT) X-Google-Smtp-Source: AG47ELvCRrDrlPyhPyGHYj7AxJnBPEI5OXf9r5ruaMkqNoSTzNlPTRg5m8LM0/+gewgPei6/fEnP X-Received: by 2002:a17:902:41:: with SMTP id 59-v6mr17229075pla.248.1521558740261; Tue, 20 Mar 2018 08:12:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521558740; cv=none; d=google.com; s=arc-20160816; b=MhEg3CnsE5GwhXMryNEnNuuipQVwy/nPffnT0EnZsRx2MAXTFETluhgT504L4tNWpj oYYkobGwuMyhey1oKpSbJGpuEHLOwfo3SF/25ozWHQ7QOtSjQUdxmn8J2Ytax3KnYOfz ifCHvQUgKpA/HiXgnLC92xJ3OaFOvhhg3CErQG5sYvTZB4TAuJH3si65DyeSjy1+0xrq 3fq0pt9zpg+PSZ6PV7O438VyXapbtVIkk2LDPNG9+yCSdqRlvlf12POQhsUOjKAyZ8j4 /pBHI0y6nhkn0U1C4bIB+a8vpNS6NfSy57W50TA9Mw9kPO68/l4tBUeIYwRFTyZ/5HRb EByw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:thread-index:content-language :content-transfer-encoding:mime-version:message-id:date:subject :in-reply-to:references:cc:to:from:arc-authentication-results; bh=XUXQ+1KvdTNgA7t7Z5Fb05ojsmzvyzbPK1HoNwkBVo8=; b=F2R7Qj0IiKmH/xB2oBD2taoVV2i23yr51uEANOpQUuwi3A+1Yq8dDLtrPFNpyrcrW+ RaYYxxFLVpEqeOiQA8vDUzL4x2/rF5dU0q/87AE6rmc2pTl8mYwmpeBAvpt9i5pC1ga6 Ck7hMbA4HqNSOdD55VqUgeTlNmGdbe9ckQ0bubnKOVJR6uyxiNH1USlCctao8EvoNcQC xOrK3Af/y0+NsK3RF/WSUwI2VFl/sg2n7NycTmhGkO9STmZCA9w5xQaRORsM0HcNTDjy x9t0AZrTas89wOgQ+l/82hrQQvrH0JBvRcxC25rUKRCIrBAbPYggr1O1+5jWNiC5lzjX JpYA== ARC-Authentication-Results: i=1; mx.google.com; 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 w1-v6si1667589plk.597.2018.03.20.08.12.06; Tue, 20 Mar 2018 08:12:20 -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; 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 S1750888AbeCTPKn (ORCPT + 99 others); Tue, 20 Mar 2018 11:10:43 -0400 Received: from linode.aoot.com ([69.164.194.13]:56808 "EHLO linode.aoot.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751022AbeCTPKl (ORCPT ); Tue, 20 Mar 2018 11:10:41 -0400 Received: from stevoacer (47-221-140-100.gtwncmta03.res.dyn.suddenlink.net [47.221.140.100]) by linode.aoot.com (Postfix) with ESMTP id E5380837D; Tue, 20 Mar 2018 10:10:40 -0500 (CDT) From: "Steve Wise" To: "'Jason Gunthorpe'" , "'Sinan Kaya'" Cc: , , , , , "'Steve Wise'" , "'Doug Ledford'" , References: <1521514068-8856-1-git-send-email-okaya@codeaurora.org> <1521514068-8856-5-git-send-email-okaya@codeaurora.org> <20180320145159.GG19744@ziepe.ca> In-Reply-To: <20180320145159.GG19744@ziepe.ca> Subject: RE: [PATCH v4 4/6] infiniband: cxgb4: Eliminate duplicate barriers on weakly-ordered archs Date: Tue, 20 Mar 2018 10:10:40 -0500 Message-ID: <3d6801d3c05d$9c35f630$d4a1e290$@opengridcomputing.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 16.0 Content-Language: en-us Thread-Index: AQJnohsAzCjMC8iCAg840eHfO7WHuQE8ydHJAazdTfSimiloYA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On Mon, Mar 19, 2018 at 10:47:46PM -0400, 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/infiniband/hw/cxgb4/t4.h | 14 +++++++------- > > 1 file changed, 7 insertions(+), 7 deletions(-) > > > > diff --git a/drivers/infiniband/hw/cxgb4/t4.h > b/drivers/infiniband/hw/cxgb4/t4.h > > index 8369c7c..6e5658a 100644 > > +++ b/drivers/infiniband/hw/cxgb4/t4.h > > @@ -457,7 +457,7 @@ static inline void pio_copy(u64 __iomem *dst, u64 > *src) > > int count = 8; > > > > while (count) { > > - writeq(*src, dst); > > + writeq_relaxed(*src, dst); > > src++; > > dst++; > > count--; > > This is another case where writes can be re-ordered.. IIRC dst is WC > BAR memory, so the NIC should tolerate re-ordering, but Steve will > have to ack this. > Yes, this is WC BAR memory. The goal is that pio_copy() will enable write-combining this into a single 64B pci-e transaction.