Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp846916imm; Wed, 11 Jul 2018 12:00:41 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeBsn9J7TebJz9nZPgRG7+Pdki5aTRj2yXt5l5f0PjVXu2uPrMx4zGtDudVCqpK27LSy6ln X-Received: by 2002:a17:902:b608:: with SMTP id b8-v6mr30072585pls.312.1531335641110; Wed, 11 Jul 2018 12:00:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531335641; cv=none; d=google.com; s=arc-20160816; b=0OQ5I1P/BxMS8b7ChHnwLjliTWYrrPK81fPF0n5Q1bl1F+PIILZ6QhYiCtcqCY7dJp jbbqheFHAJ6IElRaBzi4/wUDQUMhJVNzHljdcPkk/cUtJinsknxK+JyWinW54sDXz6YN 9ZAoVKhuwd9nNrLfvfP7JtUN58FM0A4X8syd4ZAC41cZJmyIQboGZ82oHjstyHBinxYJ c6hjEgnYNX594ZyT4VTEcCpJEp1aXUk5u7mdKi6X1RteBnXt2oz8vrAhlSStAZPZzD0H FCfm8aABEcTIKEwNM9F8AzdOga5CExTeyLpUqQdsnvQjEyPjH9e5B7PoQMIxfzKPJD3Y 1GwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:user-agent:in-reply-to :content-disposition:mime-version:references:reply-to:subject:cc:to :from:date:arc-authentication-results; bh=gKGHLkouS+lyrUNFkCrypEaWqG3fGU7BgwUNQGkQoO0=; b=p1J+kVIdl9ChryGjSyPvboK0Eko3OhV5wJwRor+BJpMzde1COPPdPy5kZTd7zVjs2c T8nuhFNsrNGBHOYyTO2YYlJ7SMnXmchkogRsg6ZBSTWeEaAMkffmfUkLdMWf72ismoLT YlOYp+rTV98E48XuUy5FJaUqQw3H3Dwy246nC4X/Ca+y0kNjKath0sbXPTtl+MVOPV2s qZb+E20Deg29/j+papyhGZlaHrhEItv4xvZ1vA9LgznUEbuSD979qWGwSgmYrK7RArKE oOxWwtIDYjaqxtKkkCXpPjwMKUDK6uwWC/w2nclvWvmfwRCaLA/H+oJzDWBvVZtQ8IOj mWkw== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z13-v6si19624090plo.287.2018.07.11.12.00.11; Wed, 11 Jul 2018 12:00:41 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389594AbeGKQOo (ORCPT + 99 others); Wed, 11 Jul 2018 12:14:44 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:55982 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1732433AbeGKQOo (ORCPT ); Wed, 11 Jul 2018 12:14:44 -0400 Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w6BG8l0U175684 for ; Wed, 11 Jul 2018 12:09:42 -0400 Received: from e17.ny.us.ibm.com (e17.ny.us.ibm.com [129.33.205.207]) by mx0b-001b2d01.pphosted.com with ESMTP id 2k5mcwj7e3-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 11 Jul 2018 12:09:42 -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=700 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1806210000 definitions=main-1807110172 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@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 > > > > > >