66 #ifndef __pfq_rwlock_h__ 67 #define __pfq_rwlock_h__ 92 #define cache_aligned __attribute__((aligned(128))) void pfq_rwlock_write_lock(pfq_rwlock_t *l, pfq_rwlock_node_t *me)
atomic_uint_least32_t rin cache_aligned
mcs_node_t pfq_rwlock_node_t
atomic_uint_least32_t last cache_aligned
atomic_uint_least32_t rout cache_aligned
void pfq_rwlock_read_unlock(pfq_rwlock_t *l)
atomic_bool bit cache_aligned
void pfq_rwlock_write_unlock(pfq_rwlock_t *l, pfq_rwlock_node_t *me)
void pfq_rwlock_read_lock(pfq_rwlock_t *l)
void pfq_rwlock_init(pfq_rwlock_t *l)
mcs_node_t *whead cache_aligned
mcs_lock_t wtail cache_aligned