lkml.org 
[lkml]   [2018]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] doc: Replace smp_cond_acquire() with smp_cond_load_acquire()
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 <andrea.parri@amarulasolutions.com>
> > > Cc: Alan Stern <stern@rowland.harvard.edu>
> > > Cc: Will Deacon <will.deacon@arm.com>
> > > Cc: Peter Zijlstra <peterz@infradead.org>
> > > Cc: Boqun Feng <boqun.feng@gmail.com>
> > > Cc: Nicholas Piggin <npiggin@gmail.com>
> > > Cc: David Howells <dhowells@redhat.com>
> > > Cc: Jade Alglave <j.alglave@ucl.ac.uk>
> > > Cc: Luc Maranget <luc.maranget@inria.fr>
> > > Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
> > > Cc: Akira Yokosawa <akiyks@gmail.com>
> > > Cc: Daniel Lustig <dlustig@nvidia.com>
> > > Cc: Jonathan Corbet <corbet@lwn.net>
> > > ---
> > > 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
> > >
> >
>

\
 
 \ /
  Last update: 2018-07-15 22:05    [W:0.034 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site