On Wed, Jun 18, 2014 at 06:43:59PM +0200, Oleg Nesterov wrote: > On 06/17, Paul E. McKenney wrote: > > > > + if (drop_boost_mutex) { > > + rt_mutex_unlock(&rnp->boost_mtx); > > complete(&rnp->boost_completion); > > Well, I still do not understand this ->boost_completion... > > > - /* Wait until boostee is done accessing mtx before reinitializing. */ > > + /* Wait for boostee to be done w/boost_mtx before reinitializing. */ > > wait_for_completion(&rnp->boost_completion); > > OK, at least we have a comment. > > But let me repeat. Thomas has already fixed rt_mutex, unlock is atomic. > It doesn't touch this memory after it makes another lock() possible. > > And (contrary to what I said initially) we can rely on this because -rt > converts spinlock_t into rt_mutex ?
Well, perhaps I should rein in my paranoia on this one. That said, the cost of my paranoia is minimal in this slowpath. Thanx, Paul -- 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/