Re: [PATCH 2/2] [PATCH] sched: Add smp_rmb() in task rq locking cycles

From: Peter Zijlstra
Date: Wed Feb 18 2015 - 11:11:26 EST


On Wed, Feb 18, 2015 at 04:53:34PM +0100, Oleg Nesterov wrote:
> On 02/17, Paul E. McKenney wrote:
> >
> > | 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 | | | | | | | +
> > -----+-------+-------+-------+-------+-------+-------+-------+
>
> OK, so "acq" can't pair with "acq", and I am not sure I understand.

Please consider the table in the context of message passing; that is
what Paul proposed. Your example from sysvsems, while interesting, would
not fit the general scenario of message passing.

This too illustrates a problem with that approach, people can't read, so
they'll pick the wrong table to look at.

I really think having just the _one_ table with obvious pairings marked,
and everything not marked in the table needs careful reading.

And acq-acq pairing would be a careful one in my book.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/