Lines Matching full:readers

37  *  - Bit 0: RWSEM_READER_OWNED - The rwsem is owned by readers
54 * is involved. Ideally we would like to track all the readers that own
109 * 1) rwsem_mark_wake() for readers.
291 * The lock is owned by readers when
296 * Having some reader bits set is not enough to guarantee a readers owned
297 * lock as the readers may be in the process of backing out from the count
344 RWSEM_WAKE_READERS, /* Wake readers only */
362 * Magic number to batch-wakeup waiting readers, even when writers are
403 * Readers, on the other hand, will block as they in rwsem_mark_wake()
421 * We prefer to do the first reader grant before counting readers in rwsem_mark_wake()
446 * indication that readers now have the lock. in rwsem_mark_wake()
455 * Grant up to MAX_READERS_WAKEUP read locks to all the readers in the in rwsem_mark_wake()
458 * number of readers before waking any processes up. in rwsem_mark_wake()
461 * reader phase (first waiter is a reader), all readers are eligible in rwsem_mark_wake()
486 * Limit # of readers that can be woken up per wakeup call. in rwsem_mark_wake()
715 * The more readers own the rwsem, the longer it will take for them to
721 * The limit is capped to a maximum of 25us (30 readers). This is just
727 int readers = count >> RWSEM_READER_SHIFT; in rwsem_rspin_threshold() local
730 if (readers > 30) in rwsem_rspin_threshold()
731 readers = 30; in rwsem_rspin_threshold()
732 delta = (20 + readers) * NSEC_PER_USEC / 2; in rwsem_rspin_threshold()
754 * 2) readers own the lock and spinning time has exceeded limit. in rwsem_optimistic_spin()
902 * To prevent a constant stream of readers from starving a sleeping in rwsem_down_read_slowpath()
904 * currently owned by readers. in rwsem_down_read_slowpath()
918 * Wake up other readers in the wait queue if it is in rwsem_down_read_slowpath()
965 * wake our own waiter to join the existing active readers ! in rwsem_down_read_slowpath()
1054 * 2) there are no active writers and some readers, the lock in rwsem_down_write_slowpath()
1068 * when a large number of readers are to be woken up. in rwsem_down_write_slowpath()
1188 * - just wake up any readers at the front of the queue
1451 int count = atomic_read(&sem->rwbase.readers); in is_rwsem_reader_owned()