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
296 * The lock is owned by readers when
301 * Having some reader bits set is not enough to guarantee a readers owned
302 * lock as the readers may be in the process of backing out from the count
350 RWSEM_WAKE_READERS, /* Wake readers only */
362 * Magic number to batch-wakeup waiting readers, even when writers are
409 * Implies rwsem_del_waiter() for all woken readers.
433 * Readers, on the other hand, will block as they in rwsem_mark_wake()
451 * We prefer to do the first reader grant before counting readers in rwsem_mark_wake()
478 * indication that readers now have the lock. in rwsem_mark_wake()
487 * Grant up to MAX_READERS_WAKEUP read locks to all the readers in the in rwsem_mark_wake()
490 * number of readers before waking any processes up. in rwsem_mark_wake()
493 * reader phase (first waiter is a reader), all readers are eligible in rwsem_mark_wake()
518 * Limit # of readers that can be woken up per wakeup call. in rwsem_mark_wake()
797 * The more readers own the rwsem, the longer it will take for them to
803 * The limit is capped to a maximum of 25us (30 readers). This is just
809 int readers = count >> RWSEM_READER_SHIFT; in rwsem_rspin_threshold() local
812 if (readers > 30) in rwsem_rspin_threshold()
813 readers = 30; in rwsem_rspin_threshold()
814 delta = (20 + readers) * NSEC_PER_USEC / 2; in rwsem_rspin_threshold()
834 * 2) readers own the lock and spinning time has exceeded limit. in rwsem_optimistic_spin()
1004 * To prevent a constant stream of readers from starving a sleeping in rwsem_down_read_slowpath()
1006 * currently owned by readers. in rwsem_down_read_slowpath()
1020 * Wake up other readers in the wait queue if it is in rwsem_down_read_slowpath()
1137 * when a large number of readers are to be woken up. in rwsem_down_write_slowpath()
1222 * - just wake up any readers at the front of the queue
1507 int count = atomic_read(&sem->rwbase.readers); in is_rwsem_reader_owned()