On Tue, Feb 17, 2015 at 01:52:31PM -0800, Paul E. McKenney wrote: > I could do a table per communication style. For example, message > passing looks like this (give or take likely errors in the table): > > Side CPU Top CPU > -------- ------- > X = 1; r1 = Y; > <some barrier> <some barrier> > Y = 1; r2 = X; > > assert(r1 == 0 || r2 == 1); > > > | mb | wmb | rmb | rbd | acq | rel | ctl | > -----+-------+-------+-------+-------+-------+-------+-------+ > mb | Y | | Y | y | Y | | Y + > -----+-------+-------+-------+-------+-------+-------+-------+ > wmb | Y | | Y | y | Y | | Y + > -----+-------+-------+-------+-------+-------+-------+-------+ > rmb | | | | | | | + > -----+-------+-------+-------+-------+-------+-------+-------+ > rbd | | | | | | | + > -----+-------+-------+-------+-------+-------+-------+-------+ > acq | | | | | | | + > -----+-------+-------+-------+-------+-------+-------+-------+ > rel | Y | | Y | y | Y | | Y + > -----+-------+-------+-------+-------+-------+-------+-------+ > ctl | | | | | | | + > -----+-------+-------+-------+-------+-------+-------+-------+ > > Here "Y" says that the barrier pair works, "y" says that it can > work but requires an artificial dependency, and " " says that > it does not work.
I would maybe do s/artificial/additional/, the pointer deref in RCU is not really artificial, is it? Also, how many communication styles do you envision to enumerate? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/