Lines Matching full:readers

38  *  - Bit 0: RWSEM_READER_OWNED - The rwsem is owned by readers
55 * is involved. Ideally we would like to track all the readers that own
109 * 1) rwsem_mark_wake() for readers -- set, clear
299 * The lock is owned by readers when
304 * Having some reader bits set is not enough to guarantee a readers owned
305 * lock as the readers may be in the process of backing out from the count
353 RWSEM_WAKE_READERS, /* Wake readers only */
365 * Magic number to batch-wakeup waiting readers, even when writers are
412 * Implies rwsem_del_waiter() for all woken readers.
436 * Readers, on the other hand, will block as they in rwsem_mark_wake()
454 * We prefer to do the first reader grant before counting readers in rwsem_mark_wake()
481 * indication that readers now have the lock. in rwsem_mark_wake()
490 * Grant up to MAX_READERS_WAKEUP read locks to all the readers in the in rwsem_mark_wake()
493 * number of readers before waking any processes up. in rwsem_mark_wake()
496 * reader phase (first waiter is a reader), all readers are eligible in rwsem_mark_wake()
521 * Limit # of readers that can be woken up per wakeup call. in rwsem_mark_wake()
803 * The more readers own the rwsem, the longer it will take for them to
809 * The limit is capped to a maximum of 25us (30 readers). This is just
815 int readers = count >> RWSEM_READER_SHIFT; in rwsem_rspin_threshold() local
818 if (readers > 30) in rwsem_rspin_threshold()
819 readers = 30; in rwsem_rspin_threshold()
820 delta = (20 + readers) * NSEC_PER_USEC / 2; in rwsem_rspin_threshold()
842 * 2) readers own the lock and spinning time has exceeded limit. in rwsem_optimistic_spin()
1013 * To prevent a constant stream of readers from starving a sleeping in rwsem_down_read_slowpath()
1015 * currently owned by readers. in rwsem_down_read_slowpath()
1029 * Wake up other readers in the wait queue if it is in rwsem_down_read_slowpath()
1146 * when a large number of readers are to be woken up. in rwsem_down_write_slowpath()
1234 * - just wake up any readers at the front of the queue
1496 int count = atomic_read(&sem->rwbase.readers); in is_rwsem_reader_owned()