On Thu, Feb 25, 2016 at 02:41:07PM +0800, Jianyu Zhan wrote:
> On Thu, Feb 25, 2016 at 5:40 AM, Paul E. McKenney
> <[email protected]> wrote:
> > So ordering between the read from "a" and the write to "b" is still
> > preserved.  The reason this works is that the smp_mb() does all the
> > ordering, so the fact that the control dependency has been eliminated
> > is irrelevant.
> 
> 
> Thanks, Paul,  nice clarification.
> 
> I thinks this example qualifies as an good example to demonstrate the subtle
> scope of effect of these two level barriers.
> 
> A vivid example is always better for understanding instead of learning
> "barrier() is compiler-level
> barrier, and smp_*mb() is processor-level barrier" by rote ,
> especially for the new comers to memory-barriers.txt. ;-)

Glad you like it.  ;-)

                                                        Thanx, Paul

Reply via email to