From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.codeaurora.org ([198.145.29.96]:54688 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727687AbeHVXFE (ORCPT ); Wed, 22 Aug 2018 19:05:04 -0400 Subject: Re: Alpha Avanti broken by 9ce8654323d69273b4977f76f11c9e2d345ab130 References: <21c0bd37-0ae7-db8f-76b8-6552c30faa4f@codeaurora.org> From: Sinan Kaya Message-ID: <09c561cf-541c-219a-f19b-4ecfaf9a0f02@codeaurora.org> Date: Wed, 22 Aug 2018 15:38:46 -0400 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Mikulas Patocka , Arnd Bergmann Cc: "Maciej W. Rozycki" , Matt Turner , linux-alpha@vger.kernel.org, okaya@kernel.org, Will Deacon , linux-arch , Peter Zijlstra , Thomas Gleixner On 8/22/2018 1:47 PM, Mikulas Patocka wrote: > If ARM guarantees that the accesses to a given device are not reordered - > then the barriers in readl and writel are superfluous. It is not. ARM only guarantees ordering of read/write transactions targeting a device not memory. example: write memory raw write to device or raw read from device read memory these can bypass each other on ARM unless a barrier is placed in the right place either via readl()/writel() or explicitly. raw write to device raw write to device or raw write to device raw read from device or raw read from device raw read from device are guaranteed to be ordered on ARM without needing any explicit barrier.