Re: [v3,11/41] mips: reuse asm-generic/barrier.h
From: Leonid Yegoshin
Date: Thu Jan 14 2016 - 16:01:37 EST
I need some time to understand your test examples. However,
On 01/14/2016 12:34 PM, Paul E. McKenney wrote:
The WRC+addr+addr is OK because data dependencies are not required to be
transitive, in other words, they are not required to flow from one CPU to
another without the help of an explicit memory barrier.
I don't see any reliable way to fit WRC+addr+addr into "DATA DEPENDENCY
BARRIERS" section recommendation to have data dependency barrier between
read of a shared pointer/index and read the shared data based on that
pointer. If you have this two reads, it doesn't matter the rest of
scenario, you should put the dependency barrier in code anyway. If you
don't do it in WRC+addr+addr scenario then after years it can be easily
changed to different scenario which fits some of scenario in "DATA
DEPENDENCY BARRIERS" section and fails.
Transitivity is
Peter Zijlstra recently wrote: "In particular we're very much all
'confused' about the various notions of transitivity". I am confused
too, so - please use some more simple way to explain your words. Sorry,
but we need a common ground first.
- Leonid.