Lines Matching refs: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,
152 wait = !__percpu_rwsem_trylock(sem, reader);
154 wq_entry.flags |= WQ_FLAG_EXCLUSIVE | reader * WQ_FLAG_CUSTOM;
180 percpu_rwsem_wait(sem, /* .reader = */ true, freeze);
243 percpu_rwsem_wait(sem, /* .reader = */ false, false);
279 * Prod any pending reader/writer to make progress.
285 * reader fast path will be available again. Safe to use outside the