From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on archive.lwn.net X-Spam-Level: X-Spam-Status: No, score=-5.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable autolearn_force=no version=3.4.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by archive.lwn.net (Postfix) with ESMTP id CEC537D085 for ; Wed, 11 Jul 2018 16:09:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389599AbeGKQOr (ORCPT ); Wed, 11 Jul 2018 12:14:47 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:58646 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389584AbeGKQOq (ORCPT ); Wed, 11 Jul 2018 12:14:46 -0400 Received: from pps.filterd (m0098394.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w6BG8l08046824 for ; Wed, 11 Jul 2018 12:09:44 -0400 Received: from e17.ny.us.ibm.com (e17.ny.us.ibm.com [129.33.205.207]) by mx0a-001b2d01.pphosted.com with ESMTP id 2k5md9a5ka-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 11 Jul 2018 12:09:44 -0400 Received: from localhost by e17.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Jul 2018 12:09:41 -0400 Received: from b01cxnp22034.gho.pok.ibm.com (9.57.198.24) by e17.ny.us.ibm.com (146.89.104.204) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Wed, 11 Jul 2018 12:09:37 -0400 Received: from b01ledav003.gho.pok.ibm.com (b01ledav003.gho.pok.ibm.com [9.57.199.108]) by b01cxnp22034.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w6BG9bb27209414 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 11 Jul 2018 16:09:37 GMT Received: from b01ledav003.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E5B97B2064; Wed, 11 Jul 2018 12:09:35 -0400 (EDT) Received: from b01ledav003.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B44EBB205F; Wed, 11 Jul 2018 12:09:35 -0400 (EDT) Received: from paulmck-ThinkPad-W541 (unknown [9.70.82.159]) by b01ledav003.gho.pok.ibm.com (Postfix) with ESMTP; Wed, 11 Jul 2018 12:09:35 -0400 (EDT) Received: by paulmck-ThinkPad-W541 (Postfix, from userid 1000) id 7443E16C3B68; Wed, 11 Jul 2018 09:11:55 -0700 (PDT) Date: Wed, 11 Jul 2018 09:11:55 -0700 From: "Paul E. McKenney" To: Andrea Parri Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, Alan Stern , Will Deacon , Peter Zijlstra , Boqun Feng , Nicholas Piggin , David Howells , Jade Alglave , Luc Maranget , Akira Yokosawa , Daniel Lustig , Jonathan Corbet Subject: Re: [PATCH] doc: Replace smp_cond_acquire() with smp_cond_load_acquire() Reply-To: paulmck@linux.vnet.ibm.com References: <1531216943-6382-1-git-send-email-andrea.parri@amarulasolutions.com> <1531314530-11624-1-git-send-email-andrea.parri@amarulasolutions.com> <20180711153840.GS3593@linux.vnet.ibm.com> <20180711154830.GA14348@andrea> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180711154830.GA14348@andrea> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-GCONF: 00 x-cbid: 18071116-0040-0000-0000-0000044D3547 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00009351; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000266; SDB=6.01059848; UDB=6.00543977; IPR=6.00837769; MB=3.00022105; MTD=3.00000008; XFM=3.00000015; UTC=2018-07-11 16:09:41 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18071116-0041-0000-0000-000008535AAB Message-Id: <20180711161155.GU3593@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-07-11_04:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=722 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1806210000 definitions=main-1807110172 Sender: linux-doc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org On Wed, Jul 11, 2018 at 05:53:55PM +0200, Andrea Parri wrote: > On Wed, Jul 11, 2018 at 08:38:40AM -0700, Paul E. McKenney wrote: > > On Wed, Jul 11, 2018 at 03:08:50PM +0200, Andrea Parri wrote: > > > Amend commit 1f03e8d2919270 ("locking/barriers: Replace smp_cond_acquire() > > > with smp_cond_load_acquire()") by updating the documentation accordingly. > > > Also remove some obsolete information related to the implementation. > > > > > > Signed-off-by: Andrea Parri > > > Cc: Alan Stern > > > Cc: Will Deacon > > > Cc: Peter Zijlstra > > > Cc: Boqun Feng > > > Cc: Nicholas Piggin > > > Cc: David Howells > > > Cc: Jade Alglave > > > Cc: Luc Maranget > > > Cc: "Paul E. McKenney" > > > Cc: Akira Yokosawa > > > Cc: Daniel Lustig > > > Cc: Jonathan Corbet > > > --- > > > Documentation/memory-barriers.txt | 3 +-- > > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > I have queued this for further review, thank you! Just to confirm, > > the reason that the old passage was obsolete is because ARMv8 implements > > smp_cond_load_acquire() as a straight acquire load, correct? > > Thanks. Yes; the generic code builds on a control dependency and an > smp_acquire__after_ctrl_dep() (which defaults to smp_rmb()); but the > required ordering on arm64 is given by (its) smp_load_acquire(). > > I thought that entering this level of details (and keeping it up-to- > date ;) wasn't really worth/needed for this high-level doc. Agreed! Thanx, Paul > Andrea > > > > > > Thanx, Paul > > > > > diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt > > > index 0d8d7ef131e9a..c1d913944ad8b 100644 > > > --- a/Documentation/memory-barriers.txt > > > +++ b/Documentation/memory-barriers.txt > > > @@ -471,8 +471,7 @@ And a couple of implicit varieties: > > > operations after the ACQUIRE operation will appear to happen after the > > > ACQUIRE operation with respect to the other components of the system. > > > ACQUIRE operations include LOCK operations and both smp_load_acquire() > > > - and smp_cond_acquire() operations. The later builds the necessary ACQUIRE > > > - semantics from relying on a control dependency and smp_rmb(). > > > + and smp_cond_load_acquire() operations. > > > > > > Memory operations that occur before an ACQUIRE operation may appear to > > > happen after it completes. > > > -- > > > 2.7.4 > > > > > > -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html