[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YpIqP2CiLa6Y4BnG@rowland.harvard.edu>
Date: Sat, 28 May 2022 09:57:19 -0400
From: Alan Stern <stern@...land.harvard.edu>
To: Akira Yokosawa <akiyks@...il.com>
Cc: "Paul E. McKenney" <paulmck@...ux.ibm.com>,
"Michael S. Tsirkin" <mst@...hat.com>,
Will Deacon <will@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Boqun Feng <boqun.feng@...il.com>,
Andrea Parri <parri.andrea@...il.com>,
Nicholas Piggin <npiggin@...il.com>,
David Howells <dhowells@...hat.com>,
Daniel Lustig <dlustig@...dia.com>,
Joel Fernandes <joel@...lfernandes.org>,
Jonathan Corbet <corbet@....net>, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org
Subject: Re: [RFC PATCH -lkmm] docs/memory-barriers: Fix inconsistent name of
'data dependency barrier'
On Sat, May 28, 2022 at 01:15:30PM +0900, Akira Yokosawa wrote:
> The term "data dependency barrier", which has been in
> memory-barriers.txt ever since it was first authored by David Howells,
> has become confusing due to the fact that in LKMM's explanations.txt
> and elsewhere, "data dependency" is used mostly for load-to-store data
> dependency.
>
> To prevent further confusions, do the following changes:
>
> - substitute "address-dependency barrier" for "data dependency barrier";
> - add note on the removal of kernel APIs for explicit address-
> dependency barriers in kernel release v5.9;
> - add note on the section title rename;
> - use READ_ONCE_OLD() for READ_ONCE() of pre-4.15 (no address-
> dependency implication) in code snippets;
> - fix number of CPU memory barrier APIs;
> - and a few more context adjustments.
>
> Note: Line break cleanups are deferred to a follow-up patch.
>
> Reported-by: "Michael S. Tsirkin" <mst@...hat.com>
> Signed-off-by: Akira Yokosawa <akiyks@...il.com>
> Cc: "Paul E. McKenney" <paulmck@...ux.ibm.com>
> Cc: Alan Stern <stern@...land.harvard.edu>
> Cc: Will Deacon <will@...nel.org>
> Cc: Peter Zijlstra <peterz@...radead.org>
> Cc: Boqun Feng <boqun.feng@...il.com>
> Cc: Andrea Parri <parri.andrea@...il.com>
> Cc: Nicholas Piggin <npiggin@...il.com>
> Cc: David Howells <dhowells@...hat.com>
> Cc: Daniel Lustig <dlustig@...dia.com>
> Cc: Joel Fernandes <joel@...lfernandes.org>
> Cc: Jonathan Corbet <corbet@....net>
> ---
> This is a response to Michael's report back in last November [1].
>
> [1]: "data dependency naming inconsistency":
> https://lore.kernel.org/r/20211011064233-mutt-send-email-mst@kernel.org/
>
> In the thread, I suggested removing all the explanations of "data dependency
> barriers", which Paul thought was reasonable.
>
> However, such removals would require rewriting the notoriously
> hard-to-grasp document, which I'm not quite up to.
> I have become more inclined to just substitute "address-dependency
> barrier" for "data dependency barrier" considering the fact that
> READ_ONCE() has an implicit memory barrier for Alpha.
>
> This RFC patch is the result of such an attempt.
>
> Note: I made a mistake in the thread above. Kernel APIs for explicit data
> dependency barriers were removed in v5.9.
> I confused the removal with the addition of the barrier to Alpha's
> READ_ONCE() in v4.15.
>
> Any feedback is welcome!
>
> Thanks, Akira
This looks great! Thanks a lot for working on it. The way
memory-barriers.txt misuses "data dependency" to mean "address
dependency" has bothered me for a long time; I'm very glad that it
will finally get cleaned up.
Alan
Powered by blists - more mailing lists