Lines Matching full:lock

45  *     _busy: Lock was busy
138 * L_P - Lock predicate, returns false if resource is available.
145 ck_elide_##N##_lock_adaptive(T *lock, \
161 if (L_P(lock) == true) \
173 if (L_P(lock) == false) \
187 L(lock); \
191 ck_elide_##N##_unlock_adaptive(struct ck_elide_stat *st, T *lock) \
194 if (U_P(lock) == false) { \
199 U(lock); \
205 ck_elide_##N##_lock(T *lock) \
209 L(lock); \
213 if (L_P(lock) == true) \
219 ck_elide_##N##_unlock(T *lock) \
222 if (U_P(lock) == false) { \
225 U(lock); \
233 ck_elide_##N##_trylock(T *lock) \
239 if (TL_P(lock) == true) \
247 * elision wrappers directly calls into the user-specified lock operations.
249 * are paid (typically a storage cost that is a function of lock objects and
254 ck_elide_##N##_lock_adaptive(T *lock, \
261 L(lock); \
266 T *lock) \
270 U(lock); \
274 ck_elide_##N##_lock(T *lock) \
277 L(lock); \
281 ck_elide_##N##_unlock(T *lock) \
284 U(lock); \
290 ck_elide_##N##_trylock(T *lock) \
293 return TL_P(lock); \
298 * Best-effort elision lock operations. First argument is name (N)
306 #define CK_ELIDE_LOCK(NAME, LOCK) ck_elide_##NAME##_lock(LOCK) argument
307 #define CK_ELIDE_UNLOCK(NAME, LOCK) ck_elide_##NAME##_unlock(LOCK) argument
308 #define CK_ELIDE_TRYLOCK(NAME, LOCK) ck_elide_##NAME##_trylock(LOCK) argument
311 * Adaptive elision lock operations. In addition to name and pointer
312 * to the lock, you must pass in a pointer to an initialized
315 #define CK_ELIDE_LOCK_ADAPTIVE(NAME, STAT, CONFIG, LOCK) \ argument
316 ck_elide_##NAME##_lock_adaptive(LOCK, STAT, CONFIG)
318 #define CK_ELIDE_UNLOCK_ADAPTIVE(NAME, STAT, LOCK) \ argument
319 ck_elide_##NAME##_unlock_adaptive(STAT, LOCK)