Lines Matching refs:readers
36 * - Bit 0: RWSEM_READER_OWNED - The rwsem is owned by readers
42 * bits will be set to disable optimistic spinning by readers and writers.
45 * to acquire the lock via optimistic spinning, but not readers. Similar
59 * is involved. Ideally we would like to track all the readers that own
63 * is short and there aren't that many readers around. It makes readers
70 * 2) There are just too many readers contending the lock causing it to
76 * groups that contain readers that acquire the lock together smaller
85 * acquire the write lock. Similarly, readers that observe the setting
146 * 1) rwsem_mark_wake() for readers.
309 * The lock is owned by readers when
314 * Having some reader bits set is not enough to guarantee a readers owned
315 * lock as the readers may be in the process of backing out from the count
363 RWSEM_WAKE_READERS, /* Wake readers only */
381 * Magic number to batch-wakeup waiting readers, even when writers are
440 * We prefer to do the first reader grant before counting readers
465 * indication that readers now have the lock.
478 * Grant up to MAX_READERS_WAKEUP read locks to all the readers in the
481 * number of readers before waking any processes up.
484 * reader phase (first waiter is a reader), all readers are eligible
509 * Limit # of readers that can be woken up per wakeup call.
763 * The more readers own the rwsem, the longer it will take for them to
769 * The limit is capped to a maximum of 25us (30 readers). This is just
775 int readers = count >> RWSEM_READER_SHIFT;
778 if (readers > 30)
779 readers = 30;
780 delta = (20 + readers) * NSEC_PER_USEC / 2;
804 * 2) readers own the lock and spinning time has exceeded limit.
914 * readers when the rwsem was being held by readers for a relatively long
1018 * Wake up other readers in the wait list if the front
1071 * wake our own waiter to join the existing active readers !
1182 * 2) there are no active writers and some readers, the lock
1196 * when a large number of readers are to be woken up.
1317 * - just wake up any readers at the front of the queue