Home
last modified time | relevance | path

Searched full:readers (Results 1 – 25 of 284) sorted by relevance

12345678910>>...12

/linux/include/linux/
H A Drwbase_rt.h12 atomic_t readers; member
18 .readers = ATOMIC_INIT(READER_BIAS), \
25 atomic_set(&(rwbase)->readers, READER_BIAS); \
31 return atomic_read(&rwb->readers) != READER_BIAS; in rw_base_is_locked()
36 return atomic_read(&rwb->readers) == WRITER_BIAS; in rw_base_is_write_locked()
41 return atomic_read(&rwb->readers) > 0; in rw_base_is_contended()
H A Drcu_sync.h16 /* Structure to mediate between updaters and fastpath-using readers. */
26 * rcu_sync_is_idle() - Are readers permitted to use their fastpaths?
29 * Returns true if readers are permitted to use their fastpaths. Must be
H A Dseqlock_types.h16 * If readers can be invoked from hardirq or softirq contexts,
86 * Make sure that readers don't starve writers on PREEMPT_RT: use
H A Dmmap_lock.h128 * With a writer and no readers, refcnt is VMA_LOCK_OFFSET if the vma in is_vma_writer_only()
203 * Exclude concurrent readers under the per-VMA lock until the currently
220 * Exclude concurrent readers under the per-VMA lock until the currently
223 * Context: May sleep while waiting for readers to drop the vma read lock.
/linux/Documentation/RCU/
H A Dchecklist.rst30 One final exception is where RCU readers are used to prevent
40 RCU does allow *readers* to run (almost) naked, but *writers* must
92 The whole point of RCU is to permit readers to run without
93 any locks or atomic operations. This means that readers will
106 locks (that are acquired by both readers and writers)
107 that guard per-element state. Fields that the readers
113 c. Make updates appear atomic to readers. For example,
117 appear to be atomic to RCU readers, nor will sequences
125 d. Carefully order the updates and the reads so that readers
145 a. Readers must maintain proper ordering of their memory
[all …]
H A Drcu.rst10 must be long enough that any readers accessing the item being deleted have
21 The advantage of RCU's two-part approach is that RCU readers need
26 in read-mostly situations. The fact that RCU readers need not
30 if the RCU readers give no indication when they are done?
32 Just as with spinlocks, RCU readers are not permitted to
42 same effect, but require that the readers manipulate CPU-local
H A DwhatisRCU.rst59 Section 1, though most readers will profit by reading this section at
82 new versions of these data items), and can run concurrently with readers.
84 readers is the semantics of modern CPUs guarantee that readers will see
88 removal phase. Because reclaiming data items can disrupt any readers
90 not start until readers no longer hold references to those data items.
94 reclamation phase until all readers active during the removal phase have
96 callback that is invoked after they finish. Only readers that are active
104 readers cannot gain a reference to it.
106 b. Wait for all previous readers to complete their RCU read-side
109 c. At this point, there cannot be any readers who hold references
[all …]
/linux/Documentation/locking/
H A Dlockdep-design.rst405 spin_lock() or write_lock()), non-recursive readers (i.e. shared lockers, like
406 down_read()) and recursive readers (recursive shared lockers, like rcu_read_lock()).
410 r: stands for non-recursive readers.
411 R: stands for recursive readers.
412 S: stands for all readers (non-recursive + recursive), as both are shared lockers.
413 N: stands for writers and non-recursive readers, as both are not recursive.
417 Recursive readers, as their name indicates, are the lockers allowed to acquire
421 While non-recursive readers will cause a self deadlock if trying to acquire inside
424 The difference between recursive readers and non-recursive readers is because:
425 recursive readers get blocked only by a write lock *holder*, while non-recursive
[all …]
/linux/kernel/rcu/
H A Dsync.c42 * If it is called by rcu_sync_enter() it signals that all the readers were
51 * readers back onto their fastpaths (after a grace period). If both
54 * rcu_sync_exit(). Otherwise, set all state back to idle so that readers
91 * rcu_sync_enter() - Force readers onto slowpath
94 * This function is used by updaters who need readers to make use of
97 * tells readers to stay off their fastpaths. A later call to
143 * rcu_sync_exit() - Allow readers back onto fast path after grace period
147 * now allow readers to make use of their fastpaths after a grace period
149 * calls to rcu_sync_is_idle() will return true, which tells readers that
/linux/fs/btrfs/
H A Dlocking.c124 * - try-lock semantics for readers and writers
310 * if there are pending readers no new writers would be allowed to come in and
316 atomic_set(&lock->readers, 0); in btrfs_drew_lock_init()
325 if (atomic_read(&lock->readers)) in btrfs_drew_try_write_lock()
330 /* Ensure writers count is updated before we check for pending readers */ in btrfs_drew_try_write_lock()
332 if (atomic_read(&lock->readers)) { in btrfs_drew_try_write_lock()
345 wait_event(lock->pending_writers, !atomic_read(&lock->readers)); in btrfs_drew_write_lock()
352 * atomic_dec_and_test() implies a full barrier, so woken up readers are in btrfs_drew_write_unlock()
361 atomic_inc(&lock->readers); in btrfs_drew_read_lock()
380 if (atomic_dec_and_test(&lock->readers)) in btrfs_drew_read_unlock()
/linux/drivers/misc/ibmasm/
H A Devent.c30 list_for_each_entry(reader, &sp->event_buffer->readers, node) in wake_up_event_readers()
39 * event readers.
40 * There is no reader marker in the buffer, therefore readers are
73 * Called by event readers (initiated from user space through the file
123 list_add(&reader->node, &sp->event_buffer->readers); in ibmasm_event_reader_register()
153 INIT_LIST_HEAD(&buffer->readers); in ibmasm_event_buffer_init()
/linux/kernel/locking/
H A Drwsem.c39 * - Bit 0: RWSEM_READER_OWNED - rwsem may be owned by readers (just a hint)
56 * is involved. Ideally we would like to track all the readers that own
110 * 1) rwsem_mark_wake() for readers -- set, clear
295 * The lock is owned by readers when
300 * Having some reader bits set is not enough to guarantee a readers owned
301 * lock as the readers may be in the process of backing out from the count
349 RWSEM_WAKE_READERS, /* Wake readers only */
361 * Magic number to batch-wakeup waiting readers, even when writers are
408 * Implies rwsem_del_waiter() for all woken readers.
432 * Readers, on the other hand, will block as they in rwsem_mark_wake()
[all …]
H A Dqrwlock.c24 * Readers come here when they cannot get the lock without waiting in queued_read_lock_slowpath()
28 * Readers in interrupt context will get the lock immediately in queued_read_lock_slowpath()
80 /* Set the waiting flag to notify readers that a writer is pending */ in queued_write_lock_slowpath()
83 /* When no more readers or writers, set the locked flag */ in queued_write_lock_slowpath()
/linux/drivers/misc/cardreader/
H A DKconfig9 Alcor Micro card readers support access to many types of memory cards,
21 Realtek card readers support access to many types of memory cards,
30 Select this option to get support for Realtek USB 2.0 card readers
/linux/arch/x86/include/asm/
H A Dspinlock.h30 * Read-write spinlocks, allowing multiple readers
33 * NOTE! it is quite common to have readers in interrupts
36 * irq-safe write-lock, but readers can get non-irqsafe
/linux/drivers/hid/
H A Dhid-roccat.c18 * It is inspired by hidraw, but uses only one circular buffer for all readers.
47 struct list_head readers; member
48 /* protects modifications of readers list */
52 * circular_buffer has one writer and multiple readers with their own
191 list_add_tail(&reader->node, &device->readers); in roccat_open()
239 * roccat_report_event() - output data to readers
270 list_for_each_entry(reader, &device->readers, node) { in roccat_report_event()
339 INIT_LIST_HEAD(&device->readers); in roccat_connect()
/linux/arch/sh/include/asm/
H A Dspinlock-cas.h44 * Read-write spinlocks, allowing multiple readers but only one writer.
46 * NOTE! it is quite common to have readers in interrupts but no interrupt
48 * needs to get a irq-safe write-lock, but readers can get non-irqsafe
H A Dspinlock-llsc.h82 * Read-write spinlocks, allowing multiple readers but only one writer.
84 * NOTE! it is quite common to have readers in interrupts but no interrupt
86 * needs to get a irq-safe write-lock, but readers can get non-irqsafe
/linux/fs/
H A Dpipe.c73 * FIFOs and Pipes now generate SIGIO for both readers and writers.
427 !READ_ONCE(pipe->readers); in pipe_writable()
460 if (!pipe->readers) { in anon_pipe_write()
501 if (!pipe->readers) { in anon_pipe_write()
565 * space. We wake up any readers if necessary, and then in anon_pipe_write()
702 if (!pipe->readers) in pipe_poll()
731 pipe->readers--; in pipe_release()
736 if (!pipe->readers != !pipe->writers) { in pipe_release()
902 pipe->readers = pipe->writers = 1; in get_pipe_inode()
1069 * but that requires that we wake up any other readers/writers
[all …]
/linux/tools/testing/selftests/kvm/include/
H A Duserfaultfd_util.h29 /* Holds the write ends of the pipes for killing the readers. */
31 pthread_t *readers; member
/linux/arch/s390/include/asm/
H A Dspinlock.h108 * Read-write spinlocks, allowing multiple readers
111 * NOTE! it is quite common to have readers in interrupts
114 * irq-safe write-lock, but readers can get non-irqsafe
/linux/kernel/printk/
H A Dprintk_ringbuffer.h31 * A structure providing the buffers, used by writers and readers.
38 * Readers:
160 * by readers and writers. The requirements that the descriptor array
168 * Readers must see that the ringbuffer is initially empty.
178 * reusable state. Readers recognize reusable descriptors as existing
206 * prb_first_seq() can be called at any time by readers to retrieve the
/linux/arch/arc/include/asm/
H A Dspinlock.h75 * Read-write spinlocks, allowing multiple readers but only one writer.
142 * (can be starved for an indefinite time by readers). in arch_write_lock()
290 * Read-write spinlocks, allowing multiple readers but only one writer.
334 * (can be starved for an indefinite time by readers). in arch_write_trylock()
/linux/Documentation/RCU/Design/Requirements/
H A DRequirements.rst20 updaters do not block readers, which means that RCU's read-side
22 can make useful forward progress concurrently with readers. However, all
23 this concurrency between RCU readers and updaters does raise the
24 question of exactly what RCU readers are doing, which in turn raises the
84 overhead to readers, for example:
106 readers, any instance of thread0() that loads a value of zero from
123 | progress concurrently with readers, but pre-existing readers will |
129 | First, if updaters do not wish to be blocked by readers, they can use |
132 | code does run concurrently with readers, whether pre-existing or not. |
258 linked data structure without disrupting RCU readers. The updater uses
[all …]
/linux/arch/powerpc/include/asm/
H A Dsimple_spinlock.h137 * Read-write spinlocks, allowing multiple readers
140 * NOTE! it is quite common to have readers in interrupts
143 * irq-safe write-lock, but readers can get non-irqsafe

12345678910>>...12