Lines Matching defs:reader
57 * If the reader misses the writer's assignment of sem->block, then the
58 * writer is guaranteed to see the reader's increment.
92 static bool __percpu_rwsem_trylock(struct percpu_rw_semaphore *sem, bool reader)
94 if (reader) {
123 bool reader = wq_entry->flags & WQ_FLAG_CUSTOM;
128 if (!__percpu_rwsem_trylock(sem, reader))
138 return !reader; /* wake (readers until) 1 writer */
141 static void percpu_rwsem_wait(struct percpu_rw_semaphore *sem, bool reader)
151 wait = !__percpu_rwsem_trylock(sem, reader);
153 wq_entry.flags |= WQ_FLAG_EXCLUSIVE | reader * WQ_FLAG_CUSTOM;
177 percpu_rwsem_wait(sem, /* .reader = */ true);
240 percpu_rwsem_wait(sem, /* .reader = */ false);
276 * Prod any pending reader/writer to make progress.
282 * reader fast path will be available again. Safe to use outside the