Received: by 10.213.65.68 with SMTP id h4csp1113401imn; Wed, 4 Apr 2018 12:53:22 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/3JFWjnMlBUOybbIVL+0uSgWZXtI/OY1WmtcEwXgYSHxJGunp81R8btivTqprTK6WyKqaG X-Received: by 10.98.10.131 with SMTP id 3mr14997850pfk.112.1522871602430; Wed, 04 Apr 2018 12:53:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522871602; cv=none; d=google.com; s=arc-20160816; b=jZ7QoLF2j5GxvspkyAlMtmUo+ekqvbRBq6Vyl+xo7lIzgGxKj4ZbIA+7CzapzHwMbu mq1YPCBE3YxGmIkhDMsGsoXwH6Bjxn0ZWEC1m/+UDn6bEAGT7Qy4A31ag2x4FSZw+ZRg GacjlT1HJcvtOQTAUsQS1LbQDorjHUxgN4eyFFo80wPDFHl7g7szKGQmY9Xi5j7QXELA x2wV8g6O78Uyhnd1GZe3ZzJm43vVhMS9E9vx+xpnxnIscY1MFKqxKWxFo0CHiXZUlKiS Mt38KQAIKaxfbU3k0+e2grS/efFzJWN3eOoO7G6BkfB/dddq1oHmNm3UfnVSQtK7Yp8/ 6+4A== 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=luoUIbu5nSWXGO3Y8YGRTnvbriXBRKb06RH1L096RP0=; b=u2g9F4ezxLC7Y16kijLDrILFVesCWy2jwLsKMyShOB/UdPGQi6PgIvSgcFpFXeruZJ Lm397yaQYEkFYj9Z2zn7QFPRk/qMIN6gqriQWlj0B8ucWE0ZHzhsgXeiQNddZzYjhSYC B+kWi0osieahr/DWc2BHNp9K1AJW8DXDcTJSo8po9EE0BUYDiLoef3xjZ+SSRvtTt5sC TtYgMgOGzpe8dvgbphfzy/AozK84JrGczEdM1ly+Bv7tbj186mdhkjD2rNJyxMnWnj9I hI6un/9y5tUPJkU2R7P4DMJ7HkAFQwAvPCPZ2d7/Hou2hoHrYKlMcW5vNPMo8LeFWcnH TJ8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=XJ6e35qc; 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 v23-v6si3953072plo.235.2018.04.04.12.53.08; Wed, 04 Apr 2018 12:53:22 -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=fail header.i=@gmail.com header.s=20161025 header.b=XJ6e35qc; 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 S1752102AbeDDTud (ORCPT + 99 others); Wed, 4 Apr 2018 15:50:33 -0400 Received: from mail-qt0-f194.google.com ([209.85.216.194]:46583 "EHLO mail-qt0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751588AbeDDTub (ORCPT ); Wed, 4 Apr 2018 15:50:31 -0400 Received: by mail-qt0-f194.google.com with SMTP id h4so24405482qtn.13; Wed, 04 Apr 2018 12:50:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=luoUIbu5nSWXGO3Y8YGRTnvbriXBRKb06RH1L096RP0=; b=XJ6e35qc7LO3dWChIuh3QVa2oFslJrV2kypkvHEDs3smqKrzX4xXKo9uPyAiaH+ge0 dq44l06142zSHx4li83L3nBXvS3LAT3UVGbOEOXBwmPYxZ5AyMOwDRR/1vAjudBfQ13n H1OkLzfZcAayRScHHBWn9kVfYkonCooU+ZTe+LJbcRc9e4+/TdjOoLBFSimK0WfZKEM5 G5oUv8WXwZcmFZGvTKXpAaTpyBw9lksJFjAr1FEdZ4by77fixhck6q+fApG1mMjVxrmi C8wsTV52UrfSBwl4aoYIZmkG2Av/tzRYDkGr/uL/2ZP+saVGKdDoCYsPSyOP3526SXHS GMvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=luoUIbu5nSWXGO3Y8YGRTnvbriXBRKb06RH1L096RP0=; b=tOZ7WFWWTizJFWYG8ouk+FUktxkRMQjZJzZkJsh82yOG69a4wN4raXyvnOcN5kYnIw lbJlIJj36vUsXZioN4/8OIFbSz5RNgzyu/Qus1SgUXVP0YDzSQxvuPc8f/g0Xn/c9/Iv UkXruDFWfVfYiiAI/nXc+X4tSQphbACeqL5X7gKw2NB+OHK1FHdP5U07pYVoNee/EM4e ksgl0uPwsBwjwarwyczNEA3Cn4wU4FkbgPtta08U6uXVU4elSyB4FNJNh87VpGaES8Zq 90lxSIkldp/5PE5rN3sU3Y78xL9LJ8qRgsvFnGsZcpn5BNzJA+TGuGGcCFVhY2gzAUd8 CIzg== X-Gm-Message-State: ALQs6tAb85u/YEMD4vGrfIaCRXh1mDhZ/MYy6+pmjJs449Asj80rSdcf Ipw26qYbsocklFZiY7iRRgPTm0vCn+5yIm7awPM= X-Received: by 10.200.56.177 with SMTP id f46mr29319543qtc.9.1522871430260; Wed, 04 Apr 2018 12:50:30 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.185.25 with HTTP; Wed, 4 Apr 2018 12:50:29 -0700 (PDT) In-Reply-To: <9b0d7db3-0830-9661-6dc8-39523daa8f32@codeaurora.org> References: <691b903c-e97d-0a25-28c5-690318bb215a@codeaurora.org> <9b0d7db3-0830-9661-6dc8-39523daa8f32@codeaurora.org> From: Arnd Bergmann Date: Wed, 4 Apr 2018 21:50:29 +0200 X-Google-Sender-Auth: fBAKkYZJrfvG9D-IgVWGtmmRKdI Message-ID: Subject: Re: [PATCH v2 2/2] io: prevent compiler reordering on the default readX() implementation To: Sinan Kaya Cc: Palmer Dabbelt , Mark Rutland , Timur Tabi , sulrich@codeaurora.org, linux-arm-msm@vger.kernel.org, Linux ARM , linux-arch , Linux Kernel Mailing List 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 Wed, Apr 4, 2018 at 7:48 PM, Sinan Kaya wrote: > On 4/4/2018 11:55 AM, Arnd Bergmann wrote: >> Yes, exactly, plus the same for write and in/out of course. > > I was looking at this... > > inb() and outb() seem to be calling writeb(). It gets the wmb/barrier automatically > when we fix writeb(). > > Did I miss something? At least outb() needs stricter barriers than writeb() in theory, what we want here is that outb() has not just made it out to the device but that the write has been confirmed completed by the device. Some architectures can't do it, but those that can should have an easy way to hook into that using a separate set of barriers. Using the riscv barrier names, we could do this like #ifndef __io_bw() #define __io_bw() wmb() #endif #ifndef __io_aw #define __io_aw() barrier() #endif #ifndef __io_pbw #define __io_pbw() __io_bw() #endif #ifndef __io_paw #define __io_paw() __io_aw() #endif and the same thing for reads. This way, an architecture could override any of those, but still get reasonable defaults for the others. For __io_bw(), I picked barrier() instead of do {} while (0), no idea if that's any better, I just play safe here. Arnd