Lines Matching defs:rl_q_entry
277 static struct rl_q_entry *rl_e_unmark(const struct rl_q_entry *e);
281 * rl_q_entry while in the smr section, and cannot reuse rl_q_next
286 struct rl_q_entry {
287 struct rl_q_entry *rl_q_next;
288 struct rl_q_entry *rl_q_free;
299 static void rangelock_free_free(struct rl_q_entry *free);
305 rl_entry_zone = uma_zcreate("rl_entry", sizeof(struct rl_q_entry),
306 NULL, NULL, NULL, NULL, UMA_ALIGNOF(struct rl_q_entry),
312 static struct rl_q_entry *
315 struct rl_q_entry *e;
346 rl_e_is_marked(const struct rl_q_entry *e)
351 static struct rl_q_entry *
352 rl_e_unmark_unchecked(const struct rl_q_entry *e)
354 return ((struct rl_q_entry *)((uintptr_t)e & ~1));
357 static struct rl_q_entry *
358 rl_e_unmark(const struct rl_q_entry *e)
365 rl_e_mark(struct rl_q_entry *e)
375 static struct rl_q_entry *
376 rl_q_load(struct rl_q_entry **p)
378 return ((struct rl_q_entry *)atomic_load_acq_ptr((uintptr_t *)p));
382 rl_e_is_rlock(const struct rl_q_entry *e)
388 rangelock_free_free(struct rl_q_entry *free)
390 struct rl_q_entry *x, *xp;
401 rangelock_unlock_int(struct rangelock *lock, struct rl_q_entry *e)
435 rl_e_compare(const struct rl_q_entry *e1, const struct rl_q_entry *e2)
466 rl_q_cas(struct rl_q_entry **prev, struct rl_q_entry *old,
467 struct rl_q_entry *new)
477 struct rl_q_entry *cur, *free, *next, **prev;
482 prev = (struct rl_q_entry **)&lock->head;
525 rl_r_validate(struct rangelock *lock, struct rl_q_entry *e, bool trylock,
526 struct rl_q_entry **free)
528 struct rl_q_entry *cur, *next, **prev;
571 rl_w_validate(struct rangelock *lock, struct rl_q_entry *e,
572 bool trylock, struct rl_q_entry **free)
574 struct rl_q_entry *cur, *next, **prev;
577 prev = (struct rl_q_entry **)&lock->head;
617 rl_insert(struct rangelock *lock, struct rl_q_entry *e, bool trylock,
618 struct rl_q_entry **free)
620 struct rl_q_entry *cur, *next, **prev;
624 prev = (struct rl_q_entry **)&lock->head;
684 static struct rl_q_entry *
688 struct rl_q_entry *e, *free;
790 struct rl_q_entry *e, *x;
805 for (e = (struct rl_q_entry *)(lock->head);;) {