Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp736918ybx; Fri, 1 Nov 2019 10:23:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqw96uGnq3vL/huzalOGMUHqbFEfm6o6FiWdgqMq/0Q2ixeyrXaWKdLEtJOP8tKFkeRvdyOR X-Received: by 2002:a50:f288:: with SMTP id f8mr13909846edm.43.1572629037234; Fri, 01 Nov 2019 10:23:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572629037; cv=none; d=google.com; s=arc-20160816; b=FdQ5E6e+l9E9LRZSlcPK1grSwSWFUlhTzDlP12fY8hyrbCf39A3P3vNlQGi/p6uC5T WqIkFH2f+ptdwPx/ON3GV0y50HB8GNme6mjhTf9iLW2UfRGjhBkwqtkjm1jaeluWdiBX 6CWlMjq8XO131WocCdbI3KjHx2OvALOuI356JsdoIIO7lTpqQvi4C96HJfnyBgO4eyS+ 7W1g9cGmoTHr5vckgYmpMFY6HGpUL8D1N3neH00dk7oGgqsRlfnVVBEh45rOHbkV9n4m rXZkonICC9Y/NEd/5U5CUTda2yLZ8vTSF6Nv9HQ9kOigeD0RiXmzAiZJrS9wpNmlH8I9 bG/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=XXtsEf7Lrj+roFd5Eun2ocEDvQpc8zyTylE/xEbPL8M=; b=gBGOo2Et7MMETX2NhkyF72yhvQHPjIwAht5q2Fm8H6AHM1Ip7PGwP2Wn/JO64rkFNW eBI+WCVr0d/iGbacXfX5iMtPt9P4IpTLA6qm/ngSWEBO1L4g0P+2fpkVmETBAZ2wcvhw Sx9rO5nxmBMzfeH7w7oZ/iNXDxnV4EgIjQRZFGpezY2/zFjLFRDX3T2ppdMeja0JwqqP hikCUJI8niK64j6EsajuuixORsS/l9kbUjgUWjdUPvO3FnNhXGAdK8fKc/s+gQOzccW6 cpw9E1pZkqMfYUepU6rUzR4kmRxFmftLISQtRxh5wEzA8UhX4OoVDOkzHyNUsaCxsowg 932g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ZqOUUt9M; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m38si811522edc.37.2019.11.01.10.23.32; Fri, 01 Nov 2019 10:23:57 -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=@kernel.org header.s=default header.b=ZqOUUt9M; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727186AbfKAQty (ORCPT + 99 others); Fri, 1 Nov 2019 12:49:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:54842 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726825AbfKAQty (ORCPT ); Fri, 1 Nov 2019 12:49:54 -0400 Received: from willie-the-truck (236.31.169.217.in-addr.arpa [217.169.31.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 324BE2080F; Fri, 1 Nov 2019 16:49:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1572626993; bh=iB6sy46ugFcR/o9rMmAUZWtn+byZEK47KCMWfmwmiJM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ZqOUUt9Mx5t8eodwpfxlZrHgy3kloTHGILFKF3knQlTuMBFv78K1t9oC1T4ElZqk1 HUb/uBUZxyF5iD3SUme8aD96WmUqj6XRaWJQI1m5jTne/zw4KcMtuJ4qIFnBos2CTl g0lIk3xFNTsLjtbJ/7GyVrQiZxlI0sySdpHs2QM4= Date: Fri, 1 Nov 2019 16:49:48 +0000 From: Will Deacon To: Manfred Spraul Cc: LKML , Davidlohr Bueso , Waiman Long , 1vier1@web.de, Andrew Morton , Peter Zijlstra , Will Deacon Subject: Re: [PATCH 1/5] smp_mb__{before,after}_atomic(): Update Documentation Message-ID: <20191101164948.GD3603@willie-the-truck> References: <20191020123305.14715-1-manfred@colorfullife.com> <20191020123305.14715-2-manfred@colorfullife.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191020123305.14715-2-manfred@colorfullife.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Manfred, On Sun, Oct 20, 2019 at 02:33:01PM +0200, Manfred Spraul wrote: > When adding the _{acquire|release|relaxed}() variants of some atomic > operations, it was forgotten to update Documentation/memory_barrier.txt: > > smp_mb__{before,after}_atomic() is now intended for all RMW operations > that do not imply a memory barrier. [...] > Documentation/memory-barriers.txt | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt > index 1adbb8a371c7..fe43f4b30907 100644 > --- a/Documentation/memory-barriers.txt > +++ b/Documentation/memory-barriers.txt > @@ -1873,12 +1873,16 @@ There are some more advanced barrier functions: > (*) smp_mb__before_atomic(); > (*) smp_mb__after_atomic(); > > - These are for use with atomic (such as add, subtract, increment and > - decrement) functions that don't return a value, especially when used for > - reference counting. These functions do not imply memory barriers. > - > - These are also used for atomic bitop functions that do not return a > - value (such as set_bit and clear_bit). > + These are for use with atomic RMW functions that do not imply memory > + barriers, but where the code needs a memory barrier. Examples for atomic > + RMW functions that do not imply are memory barrier are e.g. add, typo: "are memory barrier" > + subtract, (failed) conditional operations, _relaxed functions, > + but not atomic_read or atomic_set. A common example where a memory > + barrier may be required is when atomic ops are used for reference > + counting. > + > + These are also used for atomic RMW bitop functions that do not imply a > + memory barrier (such as set_bit and clear_bit). Although I think this is correct, I really think we should instead refer to Documentation/atomic_t.txt and get rid of this out of memory-barriers.txt entirely. It's just duplication and is out of date. Will