From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 861D5C43381 for ; Sun, 17 Mar 2019 02:20:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 53EB2218D0 for ; Sun, 17 Mar 2019 02:20:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=hansenpartnership.com header.i=@hansenpartnership.com header.b="AK7YEBzB" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726824AbfCQCUW (ORCPT ); Sat, 16 Mar 2019 22:20:22 -0400 Received: from bedivere.hansenpartnership.com ([66.63.167.143]:51938 "EHLO bedivere.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726726AbfCQCUW (ORCPT ); Sat, 16 Mar 2019 22:20:22 -0400 Received: from localhost (localhost [127.0.0.1]) by bedivere.hansenpartnership.com (Postfix) with ESMTP id A76568EE0C9; Sat, 16 Mar 2019 19:20:21 -0700 (PDT) Received: from bedivere.hansenpartnership.com ([127.0.0.1]) by localhost (bedivere.hansenpartnership.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eA__YhuapRyg; Sat, 16 Mar 2019 19:20:21 -0700 (PDT) Received: from [153.66.254.194] (unknown [50.35.68.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by bedivere.hansenpartnership.com (Postfix) with ESMTPSA id F1DFC8EE0C7; Sat, 16 Mar 2019 19:20:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=hansenpartnership.com; s=20151216; t=1552789221; bh=MUEmDsY4Ulq0Gn9aSeWdn2vy4CKokvX0EUSJqMjVwB8=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=AK7YEBzBdAWpieGC8/QvQMNhYV24lpvN61ujoVZBYChYLdQTyu2pBx4E+jWdsAMLq MmVpptm/7HHopJkIRGXVTLVoDxpudVy3gSfjx/22zFnJLwJTjyC4KsFJHiwDdAWeKs dzFSbpJZheng0Fb9vAi/RwURurz7SzR0q/eCORXE= Message-ID: <1552789220.6551.13.camel@HansenPartnership.com> Subject: Re: dcache locking question From: James Bottomley To: paulmck@linux.ibm.com, Al Viro Cc: Eric Biggers , "Tobin C. Harding" , linux-fsdevel@vger.kernel.org Date: Sat, 16 Mar 2019 19:20:20 -0700 In-Reply-To: <20190317005005.GY4102@linux.ibm.com> References: <20190314225632.GB15813@eros.localdomain> <20190314231939.GA17269@eros.localdomain> <20190315015021.GU2217@ZenIV.linux.org.uk> <20190315173819.GB77949@gmail.com> <20190315185455.GA2217@ZenIV.linux.org.uk> <20190316223128.GV4102@linux.ibm.com> <20190317001840.GF2217@ZenIV.linux.org.uk> <20190317005005.GY4102@linux.ibm.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.26.6 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org On Sat, 2019-03-16 at 17:50 -0700, Paul E. McKenney wrote: [...] > I -have- seen stores of constant values be torn, but not stores of > runtime-variable values and not loads. Still, such tearing is > permitted, and including the READ_ONCE() is making it easier for > things like thread sanitizers. In addition, the READ_ONCE() makes it > clear that the value being loaded is unstable, which can be > useful documentation. Um, just so I'm clear, because this assumption permeates all our code: load or store tearing can never occur if we're doing load or store of a 32 bit value which is naturally aligned. Where naturally aligned is within the gift of the CPU to determine but which the compiler or kernel will always ensure for us unless we pack the structure or deliberately misalign the allocation. James