Home
last modified time | relevance | path

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

123

/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 Dpipe_fs_i.h90 * @readers: number of current readers of this pipe
111 unsigned int readers;
93 unsigned int readers; global() member
/linux/tools/testing/selftests/kvm/lib/
H A Duserfaultfd_util.c125 uffd_desc->readers = calloc(sizeof(pthread_t), num_readers); in uffd_setup_demand_paging()
126 TEST_ASSERT(uffd_desc->readers, "Failed to alloc reader threads"); in uffd_setup_demand_paging()
170 pthread_create(&uffd_desc->readers[i], NULL, uffd_handler_thread_fn, in uffd_setup_demand_paging()
190 TEST_ASSERT(!pthread_join(uffd->readers[i], NULL), in uffd_stop_demand_paging()
201 free(uffd->readers); in uffd_stop_demand_paging()
/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/Documentation/RCU/
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 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
168 is common to readers and updaters. However, lockdep
[all …]
H A Drcu_dereference.rst25 readers working properly:
46 while readers are accessing the structure, READ_ONCE() may be used
222 Because updaters can run concurrently with RCU readers, RCU readers can
223 see stale and/or inconsistent values. If RCU readers need fresh or
/linux/drivers/misc/ibmasm/
H A 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()
H A Dibmasm.h117 struct list_head readers; member
/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 …]
H A Dlocktorture.rst40 ownership (readers). The default is the same amount of writer
42 both readers and writers be the amount of online CPUs.
/linux/fs/
H A Dpipe.c503 !READ_ONCE(pipe->readers); in pipe_writable()
536 if (!pipe->readers) { in anon_pipe_write()
577 if (!pipe->readers) { in anon_pipe_write()
785 if (!pipe->readers) in pipe_poll()
814 pipe->readers--; in pipe_release()
819 if (!pipe->readers != !pipe->writers) { in pipe_release()
983 pipe->readers = pipe->writers = 1; in get_pipe_inode()
1248 if (pipe->readers++ == 0) in fifo_open()
1270 if (!is_pipe && (filp->f_flags & O_NONBLOCK) && !pipe->readers) in fifo_open()
1277 if (!is_pipe && !pipe->readers) { in fifo_open()
[all …]
H A Dsplice.c209 if (unlikely(!pipe->readers)) { in splice_to_pipe()
251 if (unlikely(!pipe->readers)) { in add_to_pipe()
1056 pipe->readers = 1; in splice_direct_to_actor()
1262 if (unlikely(!pipe->readers)) { in wait_for_space()
1693 if (!pipe->readers) { in opipe_prep()
1749 if (!opipe->readers) { in splice_pipe_to_pipe()
1870 if (!opipe->readers) { in link_pipe()
/linux/tools/testing/selftests/kvm/include/
H A Duserfaultfd_util.h31 pthread_t *readers; member
/linux/drivers/iio/
H A DTODO14 to state struct and using property handlers and readers.
/linux/net/sunrpc/
H A Dcache.c405 INIT_LIST_HEAD(&cd->readers); in sunrpc_init_cache_detail()
809 int readers; member
865 rq->readers++; in cache_read()
895 rq->readers--; in cache_read()
896 if (rq->readers == 0 && in cache_read()
1032 list_add(&rp->list, &cd->readers); in cache_open()
1055 cr->readers--; in cache_release()
1056 if (cr->readers == 0 && in cache_release()
1099 if (cr->readers != 0) in cache_dequeue()
1226 crq->readers = 0; in cache_do_upcall()
/linux/Documentation/trace/
H A Dring-buffer-map.rst43 Concurrent readers (either another application mapping that ring-buffer or the
45 the ring-buffer and the output is unpredictable, just like concurrent readers on
/linux/drivers/mtd/ubi/
H A Dkapi.c163 vol->readers += 1; in ubi_open_volume()
173 if (vol->exclusive || vol->writers || vol->readers || in ubi_open_volume()
357 vol->readers -= 1; in ubi_close_volume()
H A 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()
/linux/drivers/md/dm-vdo/indexer/
H A Dvolume-index.h183 struct buffered_reader **readers,
/linux/Documentation/driver-api/media/
H A Ddtv-common.rst43 Two or more readers must be locked against each other.
/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/include/media/
H A Ddvbdev.h173 int readers; member
/linux/fs/btrfs/
H A Dlocking.h224 atomic_t readers; member
/linux/Documentation/ABI/testing/
H A Ddev-kmsg31 persistent state; many readers can concurrently open the device
32 and read from it, without affecting other readers.

123