/Linux-v6.1/Documentation/trace/ |
D | ring-buffer-design.rst | 28 - the task that writes into the ring buffer (same as writer) 30 writer 81 but a writer may interrupt another writer, but it must finish writing 82 before the previous writer may continue. This is very important to the 94 This is very much like a writer being preempted by an interrupt and 99 cannot preempt/interrupt a writer, but it may read/consume from the 100 buffer at the same time as a writer is writing, but the reader must be 102 and can be preempted by a writer. 104 A writer can preempt a reader, but a reader cannot preempt a writer. 106 as a writer. [all …]
|
/Linux-v6.1/include/linux/ |
D | percpu-rwsem.h | 15 struct rcuwait writer; member 34 .writer = __RCUWAIT_INITIALIZER(name.writer), \ 119 rcuwait_wake_up(&sem->writer); in percpu_up_read()
|
/Linux-v6.1/tools/testing/radix-tree/ |
D | regression4.c | 60 pthread_t reader, writer; in regression4_test() local 68 pthread_create(&writer, NULL, writer_fn, NULL)) { in regression4_test() 73 if (pthread_join(reader, NULL) || pthread_join(writer, NULL)) { in regression4_test()
|
/Linux-v6.1/scripts/ |
D | jobserver-exec | 27 reader, writer = [int(x) for x in fds.split(",", 1)] variable 44 os.write(writer, jobs) 64 os.write(writer, jobs)
|
/Linux-v6.1/Documentation/locking/ |
D | seqlock.rst | 8 Sequence counters are a reader-writer consistency mechanism with 9 lockless readers (read-only retry loops), and no writer starvation. They 30 interrupted writer. If that reader belongs to a real-time scheduling 34 as the writer can invalidate a pointer that the reader is following. 53 requirements of writer serialization and non-preemptibility, use 97 sequence counters associate the lock used for writer serialization at 165 embedded spinlock for writer serialization and non-preemptibility. 195 1. Normal Sequence readers which never block a writer but they must 196 retry if a writer is in progress by detecting change in the sequence 206 2. Locking readers which will wait if a writer or another locking reader [all …]
|
D | locktypes.rst | 135 rw_semaphore is a multiple readers and single writer lock mechanism. 138 writer starvation. 150 Because an rw_semaphore writer cannot grant its priority to multiple 153 can grant their priority to a writer, a preempted low-priority writer will 155 writer from starving readers. 299 rwlock_t is a multiple readers and single writer lock mechanism. 303 thus preventing writer starvation. 313 - Because an rwlock_t writer cannot grant its priority to multiple 316 can grant their priority to a writer, a preempted low-priority writer 318 preventing that writer from starving readers.
|
D | spinlocks.rst | 52 Lesson 2: reader-writer spinlocks. 56 to mostly read from the shared variables, the reader-writer locks 61 NOTE! reader-writer locks require more atomic memory operations than 91 NOTE! We are working hard to remove reader-writer spinlocks in most
|
D | lockdep-design.rst | 436 read_lock() first. And when task B tries to acquire writer on X, it will block 437 and become a waiter for writer on X. Now if read_lock_2() is recursive readers, 438 task A will make progress, because writer waiters don't block recursive readers, 440 it will get blocked by writer waiter B, and cause a self deadlock. 451 writer waiters) 535 exclusive writer to recursive reader dependency, "X -(ER)-> Y" means 536 X -> Y and X is a writer and Y is a recursive reader. 539 exclusive writer to non-recursive locker dependency, "X -(EN)-> Y" means 540 X -> Y and X is a writer and Y is either a writer or non-recursive reader. 548 X -> Y and X is a reader (recursive or not) and Y is either a writer or [all …]
|
D | locktorture.rst | 40 ownership (readers). The default is the same amount of writer 137 (B): Number of writer lock acquisitions. If dealing with a read/write
|
/Linux-v6.1/lib/ |
D | decompress_unlzma.c | 277 struct writer { struct 292 static inline size_t INIT get_pos(struct writer *wr) in get_pos() argument 298 static inline uint8_t INIT peek_old_byte(struct writer *wr, in peek_old_byte() 316 static inline int INIT write_byte(struct writer *wr, uint8_t byte) in write_byte() 330 static inline int INIT copy_byte(struct writer *wr, uint32_t offs) in copy_byte() 335 static inline int INIT copy_bytes(struct writer *wr, in copy_bytes() 347 static inline int INIT process_bit0(struct writer *wr, struct rc *rc, in process_bit0() 391 static inline int INIT process_bit1(struct writer *wr, struct rc *rc, in process_bit1() 553 struct writer wr; in unlzma()
|
/Linux-v6.1/tools/perf/util/ |
D | data-convert-bt.c | 60 struct bt_ctf_writer *writer; member 88 struct ctf_writer writer; member 700 stream = bt_ctf_writer_create_stream(cw->writer, cw->stream_class); in ctf_stream__create() 799 struct ctf_writer *cw = &c->writer; in process_sample_event() 876 struct ctf_writer *cw = &c->writer; \ 1369 struct bt_ctf_writer *writer = cw->writer; in ctf_writer__setup_env() local 1373 if (bt_ctf_writer_add_environment_field(writer, __n, __v)) \ in ctf_writer__setup_env() 1498 bt_ctf_writer_put(cw->writer); in ctf_writer__cleanup() 1507 struct bt_ctf_writer *writer; in ctf_writer__init() local 1514 writer = bt_ctf_writer_create(path); in ctf_writer__init() [all …]
|
/Linux-v6.1/kernel/locking/ |
D | percpu-rwsem.c | 22 rcuwait_init(&sem->writer); in __percpu_init_rwsem() 79 rcuwait_wake_up(&sem->writer); in __percpu_down_read_trylock() 249 rcuwait_wait_event(&sem->writer, readers_active_check(sem), TASK_UNINTERRUPTIBLE); in percpu_down_write()
|
/Linux-v6.1/drivers/misc/ibmasm/ |
D | remote.c | 173 unsigned long writer; in ibmasm_handle_mouse_interrupt() local 177 writer = get_queue_writer(sp); in ibmasm_handle_mouse_interrupt() 179 while (reader != writer) { in ibmasm_handle_mouse_interrupt() 192 writer = get_queue_writer(sp); in ibmasm_handle_mouse_interrupt()
|
/Linux-v6.1/drivers/char/ |
D | apm-emulation.c | 107 unsigned int writer: 1; member 264 if (!as->suser || !as->writer) in apm_ioctl() 367 as->writer = (filp->f_mode & FMODE_WRITE) == FMODE_WRITE; in apm_open() 535 as->writer && as->suser) { in apm_suspend_notifier()
|
/Linux-v6.1/drivers/tty/hvc/ |
D | hvsi.c | 60 struct delayed_work writer; member 752 cancel_delayed_work_sync(&hp->writer); in hvsi_flush_output() 852 container_of(work, struct hvsi_struct, writer.work); in hvsi_write_worker() 872 schedule_delayed_work(&hp->writer, HZ); in hvsi_write_worker() 878 schedule_delayed_work(&hp->writer, 10); in hvsi_write_worker() 949 schedule_delayed_work(&hp->writer, 10); in hvsi_write() 1200 INIT_DELAYED_WORK(&hp->writer, hvsi_write_worker); in hvsi_console_init()
|
/Linux-v6.1/Documentation/RCU/ |
D | rculist_nulls.rst | 35 * Because a writer could delete object, and a writer could 140 a race (some writer did a delete and/or a move of an object
|
D | listRCU.rst | 49 ``tasklist_lock`` writer lock protection, to remove the task from the list of 64 The best applications are cases where, if reader-writer locking were 77 system-call auditing support. For example, a reader-writer locked 126 The changes to the update side are also straightforward. A reader-writer lock 212 if it did, the reader-writer-locked code to do so might look as follows 268 writer lock would become a spinlock in this sort of code.
|
D | whatisRCU.rst | 613 reader-writer locks: If you try this with non-recursive locks, and 657 and release a global reader-writer lock. The synchronize_rcu() 668 It is possible to nest rcu_read_lock(), since reader-writer locks may 754 RCU is analogous to reader-writer locking. The following unified 755 diff shows how closely related RCU and reader-writer locking can be. 861 a reader-writer lock to a simple spinlock, and a synchronize_rcu() 880 The reader-writer analogy (illustrated by the previous section) is not 944 reader-writer lock and RCU as a reference counting system -- it is useful 945 to reflect on the scale of the thing being protected. The reader-writer
|
/Linux-v6.1/Documentation/driver-api/media/ |
D | dtv-common.rst | 50 2) If there is exactly one reader and one writer, there is no need
|
/Linux-v6.1/Documentation/driver-api/nvdimm/ |
D | btt.rst | 173 writes. We can hit a condition where the writer thread grabs a free block to do 176 writer started writing to the same external LBA, and finished the write updating 185 read is complete. Every writer thread, after grabbing a free block, checks the 193 Consider a case where two writer threads are writing to the same LBA. There can
|
/Linux-v6.1/drivers/staging/greybus/tools/ |
D | lbtest | 108 row = csv.writer(csvf, delimiter=",", quotechar="'",
|
/Linux-v6.1/Documentation/core-api/ |
D | local_ops.rst | 83 synchronization is done by the writer CPU, an outdated copy of the 130 respectively on the writer and the reader CPUs. It would be the case if you use
|
/Linux-v6.1/Documentation/userspace-api/media/v4l/ |
D | selection-api-configuration.rst | 45 driver writer considers the complete picture. Drivers shall set the 116 the driver writer considers the complete picture. It is recommended for
|
D | vidioc-g-parm.rst | 238 driver writer may achieve that; it will depend on the hardware and 239 the ingenuity of the driver writer. High quality mode is a
|
/Linux-v6.1/arch/x86/kernel/ |
D | apm_32.c | 336 unsigned int writer: 1; member 1205 if (!as->suser || !as->writer) in queue_event() 1533 if (!as->suser || !as->writer) in do_ioctl() 1631 as->writer = (filp->f_mode & FMODE_WRITE) == FMODE_WRITE; in do_open()
|