Lines Matching defs:interlock
81 * localcount_drain(lc, cv, interlock)
84 * hold interlock; localcount_drain releases it during cross-calls
85 * and waits on cv. The cv and interlock passed here must be the
98 localcount_drain(struct localcount *lc, kcondvar_t *cv, kmutex_t *interlock)
102 KASSERT(mutex_owned(interlock));
115 mutex_exit(interlock);
116 xc_wait(xc_broadcast(0, &localcount_xc, lc, interlock));
117 mutex_enter(interlock);
129 cv_wait(cv, interlock);
162 kmutex_t *interlock = cookie1;
166 mutex_enter(interlock);
173 mutex_exit(interlock);
228 * localcount_release(lc, cv, interlock)
232 * localcount_drain by acquiring interlock, waking cv, and
233 * releasing interlock. The cv and interlock passed here must be
240 localcount_release(struct localcount *lc, kcondvar_t *cv, kmutex_t *interlock)
255 KDASSERT(mutex_ownable(interlock));
261 mutex_enter(interlock);
264 mutex_exit(interlock);