Messages in this thread | | | Date | Wed, 18 Jun 2014 18:43:59 +0200 | From | Oleg Nesterov <> | Subject | Re: safety of *mutex_unlock() (Was: [BUG] signal: sighand unprotected when accessed by /proc) |
| |
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 ?
Oleg.
| |