Home
last modified time | relevance | path

Searched refs:readers (Results 1 – 25 of 85) sorted by relevance

1234

/kernel/linux/linux-5.10/drivers/misc/cardreader/
DKconfig9 Alcor Micro card readers support access to many types of memory cards,
20 Realtek card readers support access to many types of memory cards,
29 Select this option to get support for Realtek USB 2.0 card readers
/kernel/linux/linux-5.10/Documentation/RCU/
Drcu.rst10 must be long enough that any readers accessing the item being deleted have
22 The advantage of RCU's two-part approach is that RCU readers need
27 in read-mostly situations. The fact that RCU readers need not
31 if the RCU readers give no indication when they are done?
33 Just as with spinlocks, RCU readers are not permitted to
43 same effect, but require that the readers manipulate CPU-local
DwhatisRCU.rst47 Section 1, though most readers will profit by reading this section at
70 new versions of these data items), and can run concurrently with readers.
72 readers is the semantics of modern CPUs guarantee that readers will see
76 removal phase. Because reclaiming data items can disrupt any readers
78 not start until readers no longer hold references to those data items.
82 reclamation phase until all readers active during the removal phase have
84 callback that is invoked after they finish. Only readers that are active
92 readers cannot gain a reference to it.
94 b. Wait for all previous readers to complete their RCU read-side
97 c. At this point, there cannot be any readers who hold references
[all …]
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
80 The whole point of RCU is to permit readers to run without
81 any locks or atomic operations. This means that readers will
94 locks (that are acquired by both readers and writers)
96 the readers refrain from accessing can be guarded by
101 c. Make updates appear atomic to readers. For example,
105 appear to be atomic to RCU readers, nor will sequences
111 readers see valid data at all phases of the update.
154 is common to readers and updaters. However, lockdep
[all …]
Dlockdep.rst41 invoked by both RCU readers and updaters.
45 is invoked by both RCU-bh readers and updaters.
49 is invoked by both RCU-sched readers and updaters.
53 is invoked by both SRCU readers and updaters.
Drcubarrier.rst10 very low-overhead readers that are immune to deadlock, priority inversion,
16 readers, so that RCU updates to shared data must be undertaken quite
18 pre-existing readers have finished. These old versions are needed because
19 such readers might hold a reference to them. RCU updates can therefore be
22 How can an RCU writer possibly determine when all readers are finished,
23 given that readers might well leave absolutely no trace of their
25 pre-existing readers have completed. An updater wishing to delete an
DlistRCU.rst52 with the ``tasklist_lock``. To prevent readers from noticing changes in the list
55 ensures that any readers traversing the list will see valid ``p->tasks.next``
58 memory until all existing readers finish.
195 need for writers to exclude readers.
202 readers to fail spectacularly.
204 So, when readers can tolerate stale data and when entries are either added or
/kernel/linux/linux-5.10/fs/btrfs/
Dlocking.c605 atomic_set(&lock->readers, 0); in btrfs_drew_lock_init()
620 if (atomic_read(&lock->readers)) in btrfs_drew_try_write_lock()
627 if (atomic_read(&lock->readers)) { in btrfs_drew_try_write_lock()
640 wait_event(lock->pending_writers, !atomic_read(&lock->readers)); in btrfs_drew_write_lock()
652 atomic_inc(&lock->readers); in btrfs_drew_read_lock()
672 if (atomic_dec_and_test(&lock->readers)) in btrfs_drew_read_unlock()
Dlocking.h135 atomic_t readers; member
/kernel/linux/linux-5.10/drivers/misc/ibmasm/
Devent.c30 list_for_each_entry(reader, &sp->event_buffer->readers, node) in wake_up_event_readers()
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()
/kernel/linux/linux-5.10/Documentation/locking/
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 …]
Dseqlock.rst9 lockless readers (read-only retry loops), and no writer starvation. They
23 is odd and indicates to the readers that an update is in progress. At
25 even again which lets readers make progress.
153 from interruption by readers. This is typically the case when the read
195 1. Normal Sequence readers which never block a writer but they must
206 2. Locking readers which will wait if a writer or another locking reader
218 according to a passed marker. This is used to avoid lockless readers
Dlocktypes.rst95 readers.
135 rw_semaphore is a multiple readers and single writer lock mechanism.
141 exist special-purpose interfaces that allow non-owner release for readers.
151 readers, a preempted low-priority reader will continue holding its lock,
152 thus starving even high-priority writers. In contrast, because readers
155 writer from starving readers.
302 rwlock_t is a multiple readers and single writer lock mechanism.
317 readers, a preempted low-priority reader will continue holding its lock,
318 thus starving even high-priority writers. In contrast, because readers
321 preventing that writer from starving readers.
/kernel/linux/linux-5.10/fs/
Dpipe.c411 !READ_ONCE(pipe->readers); in pipe_writable()
432 if (!pipe->readers) { in pipe_write()
480 if (!pipe->readers) { in pipe_write()
691 if (!pipe->readers) in pipe_poll()
720 pipe->readers--; in pipe_release()
725 if (!pipe->readers != !pipe->writers) { in pipe_release()
886 pipe->readers = pipe->writers = 1; in get_pipe_inode()
1138 if (pipe->readers++ == 0) in fifo_open()
1160 if (!is_pipe && (filp->f_flags & O_NONBLOCK) && !pipe->readers) in fifo_open()
1167 if (!is_pipe && !pipe->readers) { in fifo_open()
[all …]
Dsplice.c194 if (unlikely(!pipe->readers)) { in splice_to_pipe()
237 if (unlikely(!pipe->readers)) { in add_to_pipe()
837 pipe->readers = 1; in splice_direct_to_actor()
987 if (unlikely(!pipe->readers)) { in wait_for_space()
1407 if (!pipe->readers) { in opipe_prep()
1466 if (!opipe->readers) { in splice_pipe_to_pipe()
1590 if (!opipe->readers) { in link_pipe()
/kernel/linux/linux-5.10/drivers/soc/aspeed/
Daspeed-p2a-ctrl.c65 u32 readers; member
192 ctrl->readers += 1; in aspeed_p2a_ioctl()
275 priv->parent->readers -= priv->read; in aspeed_p2a_release()
299 if (!open_regions && priv->parent->readers == 0) in aspeed_p2a_release()
/kernel/linux/linux-5.10/drivers/hid/
Dhid-roccat.c47 struct list_head readers; member
191 list_add_tail(&reader->node, &device->readers); in roccat_open()
270 list_for_each_entry(reader, &device->readers, node) { in roccat_report_event()
339 INIT_LIST_HEAD(&device->readers); in roccat_connect()
/kernel/linux/linux-5.10/drivers/iio/
DTODO17 to state struct and using property handlers and readers.
/kernel/linux/linux-5.10/kernel/rcu/
DKconfig102 these readers to appear in the idle loop as well as on the CPU
195 This option boosts the priority of preempted RCU readers that
211 readers blocking that grace period. Note that any RCU reader
241 bool "Tasks Trace RCU readers use memory barriers in user and idle"
/kernel/linux/linux-5.10/drivers/mtd/ubi/
Dkapi.c162 vol->readers += 1; in ubi_open_volume()
172 if (vol->exclusive || vol->writers || vol->readers || in ubi_open_volume()
336 vol->readers -= 1; in ubi_close_volume()
Dcdev.c50 users = vol->readers + vol->writers + vol->exclusive + vol->metaonly; in get_exclusive()
56 vol->readers = vol->writers = vol->metaonly = 0; in get_exclusive()
76 ubi_assert(vol->readers == 0 && vol->writers == 0 && vol->metaonly == 0); in revoke_exclusive()
80 vol->readers = 1; in revoke_exclusive()
/kernel/linux/linux-5.10/drivers/usb/storage/
DKconfig18 and card readers.
39 for Realtek RTS51xx USB card readers.
51 Support for certain Datafab CompactFlash readers.
/kernel/linux/linux-5.10/include/linux/
Dpipe_fs_i.h69 unsigned int readers; member
/kernel/linux/linux-5.10/Documentation/driver-api/media/
Ddtv-common.rst52 Two or more readers must be locked against each other.
/kernel/linux/linux-5.10/net/sunrpc/
Dcache.c792 int readers; member
842 rq->readers++; in cache_read()
876 rq->readers--; in cache_read()
877 if (rq->readers == 0 && in cache_read()
1065 ->readers--; in cache_release()
1103 if (cr->readers != 0) in cache_dequeue()
1231 crq->readers = 0; in cache_pipe_upcall()

1234