[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211011064233-mutt-send-email-mst@kernel.org>
Date: Mon, 11 Oct 2021 07:07:08 -0400
From: "Michael S. Tsirkin" <mst@...hat.com>
To: linux-kernel@...r.kernel.org
Cc: "Paul E. McKenney" <paulmck@...ux.ibm.com>
Subject: data dependency naming inconsistency
Hello Paul, all!
I've been reading with interest Paul's posts about Rust interactions with LKMM
https://paulmck.livejournal.com/63316.html
and in particular it states:
A data dependency involves a load whose return value directly or
indirectly determine the value stored by a later store, which results in
the load being ordered before the store.
This matches the perf book:
A data dependency occurs when the value returned by
a load instruction is used to compute the data stored by
a later store instruction.
however, memory-barriers.txt states:
A data dependency barrier is a partial ordering on interdependent loads
only; it is not required to have any effect on stores, independent loads
or overlapping loads.
It also says:
A data-dependency barrier is not required to order dependent writes
because the CPUs that the Linux kernel supports don't do writes
until they are certain (1) that the write will actually happen, (2)
of the location of the write, and (3) of the value to be written.
so the result it the same: writes are ordered without a barrier,
reads are ordered by a barrier.
However, it would seem that a bit more consistency in naming won't
hurt.
Thanks,
--
MST
Powered by blists - more mailing lists