From: James Bottomley <jejb@linux.vnet.ibm.com>
To: Sinan Kaya <okaya@codeaurora.org>,
linux-scsi@vger.kernel.org, timur@codeaurora.org
Cc: linux-arm-msm@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Sathya Prakash <sathya.prakash@broadcom.com>,
Chaitra P B <chaitra.basappa@broadcom.com>,
Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
"open list:LSILOGIC MPT FUSION DRIVERS (FC/SAS/SPI)"
<MPT-FusionLinux.pdl@broadcom.com>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] scsi: mpt3sas: remove redundant wmb on arm/arm64
Date: Fri, 07 Apr 2017 10:25:30 -0700 [thread overview]
Message-ID: <1491585930.2325.11.camel@linux.vnet.ibm.com> (raw)
In-Reply-To: <1491583306-20551-1-git-send-email-okaya@codeaurora.org>
On Fri, 2017-04-07 at 12:41 -0400, Sinan Kaya wrote:
> Due to relaxed ordering requirements on multiple architectures,
> drivers are required to use wmb/rmb/mb combinations when they
> need to guarantee observability between the memory and the HW.
>
> The mpt3sas driver is already using wmb() for this purpose.
> However, it issues a writel following wmb(). writel() function
> on arm/arm64 arhictectures have an embedded wmb() call inside.
>
> This results in unnecessary performance loss and code duplication.
>
> The kernel has been updated to support relaxed read/write
> API to be supported across all architectures now.
>
> The right thing was to either call __raw_writel/__raw_readl or
> write_relaxed/read_relaxed for multi-arch compatibility.
writeX_relaxed and thus your patch is definitely wrong. The reason is
that we have two ordering domains: the CPU and the Bus. wmb forces
ordering in the CPU domain but not the bus domain. writeX originally
forced ordering in the bus domain but not the CPU domain, but since the
raw primitives I think it now orders in both and writeX_relaxed orders
in neither domain, so your patch would currently eliminate the bus
ordering.
James
next prev parent reply other threads:[~2017-04-07 17:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-07 16:41 [PATCH] scsi: mpt3sas: remove redundant wmb on arm/arm64 Sinan Kaya
2017-04-07 16:51 ` Sinan Kaya
2017-04-07 17:25 ` James Bottomley [this message]
2017-04-07 17:28 ` Sinan Kaya
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1491585930.2325.11.camel@linux.vnet.ibm.com \
--to=jejb@linux.vnet.ibm.com \
--cc=MPT-FusionLinux.pdl@broadcom.com \
--cc=chaitra.basappa@broadcom.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=okaya@codeaurora.org \
--cc=sathya.prakash@broadcom.com \
--cc=suganath-prabu.subramani@broadcom.com \
--cc=timur@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).