Received: by 10.213.65.68 with SMTP id h4csp729820imn; Tue, 13 Mar 2018 20:23:34 -0700 (PDT) X-Google-Smtp-Source: AG47ELvsdiQS4Jcqdtm2RsklxGe+mbjlKucF2d5b6EL8k0LkBDJ3j5rzdFZmt6iOFH6wKy41kVV5 X-Received: by 10.98.223.143 with SMTP id d15mr2816888pfl.208.1520997814507; Tue, 13 Mar 2018 20:23:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520997814; cv=none; d=google.com; s=arc-20160816; b=Ek8GeF3D127UGfjBnaeccyzEkvObFoSCzA33JCoREgiROjz4AjeMsy9PsleScROwhv KWOe4QFguNJuzm9yIA19lZgBDA7QFeqx10RGo8CFED99FMzIuwrxI8JE0UVwH1pWBQ7Y UJAHCLmG1pLnwj1wPJm6F3GOLC0Q4WKONAQX0a2n4IvBqNhsF2LNgjuihw3Iogak7ulr 42B8CH0s4UNiRfqUUJYAh5dAmlL2N5yl6kKlbApb9ZCZBuqjKyCOzAC7MiyLJUYyf0QE uEcw6mZ6qctKLoCDnhlgXU6R4Yd4L/oSu8s4dWHsuaKI8p8hAVoGv5iE2tYII71JIRAe 0ZJQ== 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=7pEiNjJh3BRKA/kVp0YJJ768LvlJUJDWmcycK3g7ZNw=; b=qFVGS5ex/qQPq66l0H7/S0NXK2LVG2Jz6d4ZqWLsBBndGS7o2tRyTziO5nG7+6fqPA c/Ji7MnWsUeNosI6Psn+bsJpvqevqAksiloqOZL7/UGtrc+7N5bA0SDhBtNxt5wtfw1J 5xWl3DssBJj/55w+vkY9cwGYhWslLoPwU2R4Qc2M3pZGBH1FEN84fQw3InLBOO1YjpAG qFlaiYHdIqyIBM/3u764o0vO3LF/7AyINWscyfj5Xq4dwgBMo8Gwa2QPwqiNjsQY5NHv eOdM4AE91Ve15FNZh8oAKNITDAEDxIm57kQMmz0yHBRDQTG66UzQS5ZCUwBuyfw3zIfA YdmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=S1E/5PhI; dkim=pass header.i=@codeaurora.org header.s=default header.b=M3pkfwFB; 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 89si1319002pfo.111.2018.03.13.20.23.20; Tue, 13 Mar 2018 20:23:34 -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=S1E/5PhI; dkim=pass header.i=@codeaurora.org header.s=default header.b=M3pkfwFB; 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 S933399AbeCNDUl (ORCPT + 99 others); Tue, 13 Mar 2018 23:20:41 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:43230 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933384AbeCNDUj (ORCPT ); Tue, 13 Mar 2018 23:20:39 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 431F760854; Wed, 14 Mar 2018 03:20:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1520997639; bh=26oYoO1jY7KROiUtX931ZvHDy54r40T7a7fQCzm8cLw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=S1E/5PhIOiYkO5PxDL2cwhiy07zFqS4k23sDfs3NF/UGcxgXdXEg1IfxZXkaWmne1 7+EpnLV8zl8eQMiaaOurbW5XiILTwJ96zB58LD+ojMqeilU9nTTdCb9rqIhSJqiqjX ZyAeYb0O5TW7r4hiiRq3DQ6ezhg5p+nV2iHeBpk8= 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 89BC66081A; Wed, 14 Mar 2018 03:20:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1520997638; bh=26oYoO1jY7KROiUtX931ZvHDy54r40T7a7fQCzm8cLw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=M3pkfwFBFZe3cIfpFlmk8JHfCUuc2NgRpkgqBXWZEDhHhNGkK+57gdQEYm++mALOg acprLBz3PtBLTmPxsCF5yatNX/fMjO63RyGnYO3dz65hTsAm9US4dGWNblpa9yHKid m2ZqtpunmEl6O+U72UgzDoGmPhx8tXh5eLChp6Mo= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 89BC66081A 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: netdev@vger.kernel.org, timur@codeaurora.org, sulrich@codeaurora.org Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Sinan Kaya , Michal Kalderon , Ariel Elior , Doug Ledford , Jason Gunthorpe , linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/7] RDMA/qedr: eliminate duplicate barriers on weakly-ordered archs Date: Tue, 13 Mar 2018 23:20:24 -0400 Message-Id: <1520997629-17361-3-git-send-email-okaya@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1520997629-17361-1-git-send-email-okaya@codeaurora.org> References: <1520997629-17361-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() 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/infiniband/hw/qedr/verbs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c index 53f00db..ccd55f4 100644 --- a/drivers/infiniband/hw/qedr/verbs.c +++ b/drivers/infiniband/hw/qedr/verbs.c @@ -1870,7 +1870,7 @@ static int qedr_update_qp_state(struct qedr_dev *dev, if (rdma_protocol_roce(&dev->ibdev, 1)) { wmb(); - writel(qp->rq.db_data.raw, qp->rq.db); + writel_relaxed(qp->rq.db_data.raw, qp->rq.db); /* Make sure write takes effect */ mmiowb(); } @@ -3247,7 +3247,7 @@ int qedr_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr, * redundant doorbell. */ wmb(); - writel(qp->sq.db_data.raw, qp->sq.db); + writel_relaxed(qp->sq.db_data.raw, qp->sq.db); /* Make sure write sticks */ mmiowb(); -- 2.7.4