Lines Matching refs:br
65 ck_brlock_init(struct ck_brlock *br) in ck_brlock_init() argument
68 br->readers = NULL; in ck_brlock_init()
69 br->writer = false; in ck_brlock_init()
75 ck_brlock_write_lock(struct ck_brlock *br) in ck_brlock_write_lock() argument
83 while (ck_pr_fas_uint(&br->writer, true) == true) in ck_brlock_write_lock()
89 for (cursor = br->readers; cursor != NULL; cursor = cursor->next) { in ck_brlock_write_lock()
99 ck_brlock_write_unlock(struct ck_brlock *br) in ck_brlock_write_unlock() argument
103 ck_pr_store_uint(&br->writer, false); in ck_brlock_write_unlock()
108 ck_brlock_write_trylock(struct ck_brlock *br, unsigned int factor) in ck_brlock_write_trylock() argument
113 while (ck_pr_fas_uint(&br->writer, true) == true) { in ck_brlock_write_trylock()
126 for (cursor = br->readers; cursor != NULL; cursor = cursor->next) { in ck_brlock_write_trylock()
129 ck_brlock_write_unlock(br); in ck_brlock_write_trylock()
142 ck_brlock_read_register(struct ck_brlock *br, struct ck_brlock_reader *reader) in ck_brlock_read_register() argument
149 ck_brlock_write_lock(br); in ck_brlock_read_register()
151 reader->next = ck_pr_load_ptr(&br->readers); in ck_brlock_read_register()
154 ck_pr_store_ptr(&br->readers, reader); in ck_brlock_read_register()
156 ck_brlock_write_unlock(br); in ck_brlock_read_register()
161 ck_brlock_read_unregister(struct ck_brlock *br, struct ck_brlock_reader *reader) in ck_brlock_read_unregister() argument
164 ck_brlock_write_lock(br); in ck_brlock_read_unregister()
172 br->readers = reader->next; in ck_brlock_read_unregister()
174 ck_brlock_write_unlock(br); in ck_brlock_read_unregister()
179 ck_brlock_read_lock(struct ck_brlock *br, struct ck_brlock_reader *reader) in ck_brlock_read_lock() argument
188 while (ck_pr_load_uint(&br->writer) == true) in ck_brlock_read_lock()
209 if (ck_pr_load_uint(&br->writer) == false) in ck_brlock_read_lock()
220 ck_brlock_read_trylock(struct ck_brlock *br, in ck_brlock_read_trylock() argument
232 while (ck_pr_load_uint(&br->writer) == true) { in ck_brlock_read_trylock()
257 if (ck_pr_load_uint(&br->writer) == false) in ck_brlock_read_trylock()